- GET /config#
Return the protocol version and currency supported by this merchant backend. This specification corresponds to
currentprotocol being version v24.Response:
- 200 OK:
The body is a MerchantVersionResponse.
Details:
interface MerchantVersionResponse { // libtool-style representation of the Merchant protocol version, see // https://www.gnu.org/software/libtool/manual/html_node/Versioning.html#Versioning // The format is "current:revision:age". version: string; // Name of the protocol. name: "taler-merchant"; // URN of the implementation (needed to interpret 'revision' in version). // @since **v8**, may become mandatory in the future. implementation?: string; // Default (!) currency supported by this backend. // This is the currency that the backend should // suggest by default to the user when entering // amounts. See currencies for a list of // supported currencies and how to render them. currency: string; // Which Persona should be used by default by new clients in the SPA. // Can be changed locally per browers under "Personalization". // Possible values include "expert", "offline-vending-machine", // "point-of-sale", "digital-publishing", "e-commerce" and "developer". // @since **v23**. default_persona: string; // How services should render currencies supported // by this backend. Maps // currency codes (e.g. "EUR" or "KUDOS") to // the respective currency specification. // All currencies in this map are supported by // the backend. Note that the actual currency // specifications are a *hint* for applications // that would like *advice* on how to render amounts. // Applications *may* ignore the currency specification // if they know how to render currencies that they are // used with. currencies: { currency : CurrencySpecification}; // Maps available report generator configuration section names // to descriptions of the respective report generator. // Since **v25**. report_generators: { section_name : string}; // Posix regular expression for allowed phone numbers; // applies when creating or patching an instance. // Optional, can be NULL for no restrictions. // Since **v26**. phone_regex?: string; // Array of exchanges trusted by the merchant. // @since **v6**. exchanges: ExchangeConfigInfo[]; // Set when the merchant supports // self-provisioning instances. // Since protocol **v21** have_self_provisioning: boolean; // True if this merchant backend supports the Donau // extension and can thus issue donation receipts. // Should primarily be used to control the SPA's CRUD // functionality for Donau. // @since **v21** have_donau: boolean; // Tan channels that are required // to be confirmed for an instance to // be useable. // @since **v21** mandatory_tan_channels?: TanChannel[]; // Space-separated list of enabled payment target types. // Useful if the SPA should not show allow adding other // types of bank accounts. "*" is used to represent no // restriction. // @since **v22** payment_target_types: string; // Regular expression representing further restrictions // on allowed payment targets. Any "payto://"-URI supplied // for a bank account must match the given regular expression. // For example, "payto://iban/CH.*" would restrict the system // to only Swiss bank accounts. // Optional, no restrictions are imposed if the field is // absent. // @since **v22** // CAUTION: Likely to be removed/deprecated, // as we'll want an array of restrictions with the // same format as the exchange uses, as this allows // proper i18n and spec/code reuse. payment_target_regex? string; // Default payment delay for new instances. // This is the default to use for new instances, see the instance value for // the instance-specific default. // A value of "forever" is not allowed. // @since **v22** default_pay_delay: RelativeTime; // If the frontend does NOT specify a refund deadline, how long should // refunds be allowed by default? // This is the default to use for new instances, see the instance value for // the instance-specific default. // A value of "forever" is not allowed. // @since **v22** default_refund_delay: RelativeTime; // Default wire transfer delay for new instances. // This is the default to use for new instances, see the instance value for // the instance-specific default. // A value of "forever" is not allowed. // @since **v22** default_wire_transfer_delay: RelativeTime; // Default interval to which wire deadlines computed by // adding the wire_transfer_delay on top of the refund // deadline should be rounded up to. // @since **v23** default_wire_transfer_rounding_interval: RoundingInterval; }
enum TanChannel { SMS = "sms", EMAIL = "email" }
enum RoundingInterval { NONE = "NONE", SECOND = "SECOND", MINUTE = "MINUTE", HOUR = "HOUR", DAY = "DAY", WEEK = "WEEK", MONTH = "MONTH", QUARTER = "QUARTER", YEAR = "YEAR" }
interface ExchangeConfigInfo { // Base URL of the exchange REST API. base_url: string; // Currency for which the merchant is configured // to trust the exchange. // May not be the one the exchange actually uses, // but is the only one we would trust this exchange for. currency: string; // Offline master public key of the exchange. The // /keys data must be signed with this public // key for us to trust it. master_pub: EddsaPublicKey; }