View Issue Details

IDProjectCategoryView StatusLast Update
0005245Talermerchant backend API (C)public2018-04-15 20:36
ReporterFlorian DoldAssigned ToFlorian Dold 
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status closedResolutionfixed 
Product VersionSVN HEAD 
Target Version0.5Fixed in Version0.5 
Summary0005245: make /proposal easier to use
DescriptionRight now too much information that could be specified in the backend must be given in the frontend.

Ideally /proposal works by only giving:
* product name
* amount to pay (even as string!)
* fulfillment URL
(* echoed nonce)

All other fields (product list with single item) can then be inferred or looked up from the backend configuration.
TagsNo tags attached.

Relationships

related to 0005198 closedChristian Grothoff merchant should check a reserve's status before adding it as a tipping reserve 

Activities

Florian Dold

2018-01-04 13:37

manager   ~0012724

Note that I'm not suggesting any restrictions on the current API, just some convenience features. You should still be able to specify things / override defaults if desired.

Christian Grothoff

2018-01-13 16:37

manager   ~0012783

As for address/location data, I had discussed with Florian using something like:

[merchant-location-FOO]
street = FooStreet 4
city = FooCity
country = Fooland

[merchant-location-BAR]
street = BarStreet 4
city = BarCity
country = Barland

to generate the 'name->location' map in the contract. "FOO/BAR" would be the labels we can use in the rest of the contract (jurisdiction, shipping address, etc.). Naturally, the frontend must still be able to _extend_ the location set, as the customer's shipping address won't be known to the backend. So a common config might be:

[merchant-location-jurisdiction]
street = High Street 1
city = BarCity
country = Bahamas

[merchant-location-shipsfrom]
street = FactoryStreet 4
city = BarCity
country = China

[merchant-location-billing]
street = Bank Street 3
city = London
country = Divided Kingdom

Which would be turned into

locations = {
  "billing" = { "street" : "Bank Street 3",
                "city" : "London" },
  "..." = "..."
}
(pardon my JSON syntax, likely some brackets wrong, but you get the idea).

Florian Dold

2018-01-17 23:56

manager   ~0012794

Fixed in f52a678f

Issue History

Date Modified Username Field Change
2018-01-04 13:37 Florian Dold New Issue
2018-01-04 13:37 Florian Dold Status new => assigned
2018-01-04 13:37 Florian Dold Assigned To => Marcello Stanisci
2018-01-04 13:37 Florian Dold Note Added: 0012724
2018-01-13 16:37 Christian Grothoff Note Added: 0012783
2018-01-13 16:37 Christian Grothoff Severity minor => feature
2018-01-13 16:37 Christian Grothoff Product Version => SVN HEAD
2018-01-13 16:37 Christian Grothoff Target Version => 0.5
2018-01-15 13:12 Florian Dold Assigned To Marcello Stanisci => Florian Dold
2018-01-15 15:35 Christian Grothoff Relationship added related to 0005198
2018-01-17 23:56 Florian Dold Status assigned => resolved
2018-01-17 23:56 Florian Dold Resolution open => fixed
2018-01-17 23:56 Florian Dold Note Added: 0012794
2018-04-15 20:35 Christian Grothoff Fixed in Version => 0.5
2018-04-15 20:36 Christian Grothoff Status resolved => closed