Commerce

From docs.warpcs.org

This is the documentation for warp CS Commerce (ec.warpcs.com). Also see https://ec.warpcs.com/about.jspx.

Businesses

Register Business

To start, click "Register new business" at the bottom of the "Manage Businesses" tab.

You will be asked to enter the registered business name and address. Only some countries are supported for businesses. During the verification process, the given data might be slightly modified for correctness.

After you click "Start Registration", an unverified business entry will be created and you must contact support to complete the registration process. For this, simply send an email to the contact email address under "About This Page", including the shown "Internal ID" and proof of registration documents. Which documents exactly depends on the type of business (see below). After the check is complete, your business is marked verified and you can start using it on the platform.

Required Documents

Germany

  • Handelsgesellschaften (GmbH, AG, UG, OHG, ...) oder e.K.: Handelsregisterauszug
  • Personengesellschaften (Einzelunternehmen, GbR, ..., außer PartG): Gewerbeanmeldung von der Stadt oder Gemeinde
  • Freiberufler: Umsatzsteuer-Voranmeldung oder Einkommensteuerbescheid
  • Partnerschaftsgesellschaft: Partnerschaftsregisterauszug
  • eingetragener Verein: Vereinsregisterauszug
  • Stiftung: Stiftungsurkunde

Bei manchen Rechtsformen darf der angegebene Name Zusätze enthalten (z.B. Einzelunternehmen).

Manage Business

General

The first two options are the registered business name and address. To request changes for these, contact support.

Other settings are described next to the input field. See "Manage Product"/"General" under "Products" for important notes regarding the icon.

Management

See description next to inputs.

Attributes

The following attributes are defined (important: names are case-sensitive, but all defined attributes are lowercase):

  • website: Link to the business website. Will be shown on invoices.
  • telephone: Business phone number. Will be shown on invoices.
  • email: Support email address. This is the email address shown in order details and on invoices, overriding the email address set in General settings above.
  • vatid: Wikipedia:VAT identification number of the business. If and under what conditions this is required for order completion depends on the business country. Has the highest preference on invoices among vatid, taxid, and taxnumber, meaning if all are defined, this is the only value shown.
  • taxid: Country-specific tax ID of the business. Has medium preference on invoices.
  • taxnumber: Tax number (German "Steuernummer") of the business. Has the lowest preference on invoices.
  • tax_exemption: If this is set to any value, no VAT calculation will be shown on invoices due to the business charging no VAT. Similar to setting "Tax Percentage" of all products of the business to -1. A generic note will be put on the invoice to indicate this, if the value is not instead equal to some special value used to reference specific legal documents: "kleinunternehmer" (references German § 19 UStG).
  • owner: Name of the business owner. Will be shown on invoices, only for information purposes.
  • ceo: Name of the CEO, overrides owner. Will be shown on invoices, only for information purposes.
  • tradename: The trade name of the business. Overrides the prominently shown registered business name on invoices, although the registered name is always also on the invoice.
  • invoice_language: Language ID of the language to generate invoices in, a lowercase two-letter language code (e.g. "en", "de"). Overrides the default behavior, which is to use the language of the businesses country or a default.
  • invoice_note: Any small note added to the end of the invoice, after the item list. May contain "\n" for line breaks.
  • invoice_noautoregenerate: If exists (value is ignored), the invoice will not be automatically regenerated if the payment status of an order is changed (manual change or automatic PAID event).
  • invoice_transfer_reference: The format of the reference string shown on the invoice and payment page, and embedded in the QR code for a manual transfer. Can be any string, and "??" is replaced by the order number of the order being paid; default value is only "??". The QR code is shown after clicking "Pay" if the business allows bank transfer payments (see banktransfer).
  • shipping_cost: The default shipping cost in the used currency.
  • shipping_cost_*: More specific shipping cost configuration. See below under "Products" for more information.
  • shipping_restrict_countries: A comma-separated case-insensitive list of countries your business is willing to ship to. If a country not in this list is given as the shipping address during checkout, it cannot be completed. The special string "eu" may be included in the list to include all countries in the European Union. Example: eu,us,ca.
  • bank_iban: IBAN of business bank account. Will be shown on invoices and required to show a QR code for simpler payment.
  • bank_bic: BIC of business bank account. Will be shown on invoices.
  • banktransfer: If "1", enables payment using bank transfer. Using this method, an order will be completed and the invoice sent to the buyer. Be aware payment is not necessarily done yet when this is done. Some kind of bank or payment information is required (bank_iban, banktransfer_other).
  • banktransfer_other: A comma-separated list of links to alternative external payment options. Each entry has the format name: link, where name is any string shown to the user, and link is the link to accept the payment. Can contain {amount} and {reference}, which will be replaced with the transfer amount and reference, respectively, or {amount100} for an integer representation in cents (e.g. "1.20" becomes "120"). Allows bank transfer payments even though no other bank information is given. This must include a valid way of payment. Example: Example Payment Service: https://example.com/acceptpayment/exampleuser?a={amount}&r={reference}
  • prepaidbalance: If "1", enables payment using prepaid balance of the user. There should be a way for the user to add prepaid balance to their account.
  • prepaidbalance_add_pid: The product ID of the product that can be purchased by a user to top up a their prepaid balance. Is not required and is only shown on the prepaid balances overview page for the user's convenience.
  • prepaidbalance_pretaxed: If exists (value is ignored), prepaid balance added to this business is assumed to be taxed already, and all invoices paid with prepaid balance will not include a VAT calculation and a note to inform about this.
  • sepadirectdebit_webhookurl: Webhook URL for SEPA payment information during checkout. Enables the SEPA Direct Debit payment option if given together with sepadirectdebit_secret. The debit process must be initiated by the business. If a customer uses this payment option, the payment information entered by the customer is sent to the given URL as a webhook during the checkout process and must be handled by the business. See "Integration" section for more details.
  • sepadirectdebit_secret: Any secret string sent along with the webhook, to prevent forged requests.
  • paypal_clientid: Client ID for PayPal API access. Enables PayPal Checkout if given together with paypal_secret. For testing with sandbox API credentials, prefix this value with sandbox:. IMPORTANT: Some payment methods with PayPal take some time to complete, and the payment in the order is first marked as "NOT paid (pending)". To make sure it is automatically set to "Paid" when the payment completes, you must add a PayPal API webhook in your PayPal account application settings. The webhook URL to set is https://ec.warpcs.com/api/orderm/checkoutexternalhook?source=paypal with all Event types starting with "Payment capture ..." (under "Payments & Payouts") enabled.
  • paypal_secret: Secret key for PayPal API access.
  • stripe_publickey: Stripe API Public Key. Enables Stripe Checkout if given together with stripe_secretkey.
  • stripe_secretkey: Stripe API Secret Key.

Requirements

None of the attributes are necessarily required for all businesses, although the following is recommended:

  • Set up any kind of payment option by setting the appropriate attributes.
  • Provide a website link, telephone number, or support email address so that buyers can contact you in case of issues.
  • Set a shipping_cost if your business will ship products.

Requirements: German Business

  • Either taxnumber or vatid must be specified to be able to process orders of 250€ or above.

Products

Products are representations of real products a business sells.

Create Product

A product can simply be created in the web interface. At creation, only the name must be specified. More settings can be configured after this.

Manage Product

General

Name and Icon URL are simply how the product is presented. For proper presentation of the icon on the web pages, the header cross-origin-resource-policy: cross-origin must be set in the image resource response (this also applies to the business icon). If you cannot set this header, you can use a CORS proxy which sets this header, for example https://b-af727.p.u9sv.com/. Simply prepend this to your actual URL (https://b-af727.p.u9sv.com/https://example.com/). Note that this increases loading time of the icon.

If Sale paused is checked, this product cannot be bought by a customer. If Sell individually is checked, each order item with this product must have count 1, and the Count option is hidden during checkout.

If Billing address not required is checked, the buyer will not be asked for a billing address (only for a name) during checkout, if true for all products in their cart. Consider legal aspects when enabling this, as no buyer address will be available (including on the invoice). This option has no effect if shipping class is not 0 (an address is required in that case anyway).

It is not recommended to reuse a single product instance for another different actual product by changing the name and other significant settings of a product, because all orders made for a product are still linked to the original product instance and any changes in the display options of a product are reflected on the corresponding order overview pages or invoices (if regenerated). For the same reason, products cannot be deleted.

Linked Businesses

Here, you can select one or more products which sell the product. Only businesses for which you at least have management permissions are listed here. All managers of all businesses linked to the product have full configuration access to the product.

Base Price

The base unit price of the product. This can be further adapted using product parameters set by the customer (see below).

Tax Percentage

The percentage of tax (VAT) included in the configured price. This is only relevant for invoices, since the tax is already included in the price. This value may be 0 for tax-free products, or -1 if no VAT is charged by the business in some special cases (for example, the German Kleinunternehmerregelung).

Parameters

A list of parameters configurable by the customer while placing an order. These can, for example, be used to provide additional information to the seller business. Every parameter is either a string, selection of strings, number (integer or decimal), or boolean. It has a configurable precedence, which determines the order the parameters are presented to the customer; parameters with a lower precedence number are shown first. The name can be any string, shown to the customer, and potentially on invoices. Validation is: a regex (if type is string); a range in the format min~max (type number), where min and max (both inclusive) are integers or decimals limiting the allowed range; a list of options separated by "||" (type selection); or "true" / "false" (type boolean). The optional checkbox specifies whether this parameter must be configured by the customer. If On Invoice is checked, this parameter, including the value configured by the customer, is shown on the invoice.

Some parameter types (number types, boolean) can have a math expression to adapt the effective price based on parameters configured by the customer. The math expression field can have one or more statements separated by a ;, each with the general format variable = expression, where variable is any variable name to be set, and expression is any math expression resulting in a number to which the left-hand variable is set to. An example for an expression is abs(variable) * 3 + 1. Variables carry over across all statements of all product parameters of a product. There are two special variables: price is read out after evaluating all statements of all parameters in the order given by the precedence and sets the final effective unit price of a configured order item, and this is unique for each product parameter and contains the current configured value (for booleans, this is 1 if checked and 0 otherwise). Full example for the math expression field: price *= this; price = price + 1.23.

Shipping Class

The shipping class of the product. See below in "Configure Shipping Cost" for more information. A buyer will not be asked for a shipping address during checkout if this is 0 for all products in their cart.

Renewal Interval

If not 0, marks this product as a subscription, and the value is the renewal interval of the subscription, in days. Buying a subscription product requires a user account. See §C5f in the Terms for more information. If "Allow early renewals" is checked, the subscription cannot be renewed by the user before the current expiration time minus the renewal interval.

Technical

Actions

Actions are performed when something happens with this product, for example it is bought by a customer. There are different types of actions: "Buy" (initial purchase of a product or subscription), "Renewal" (upon successful renewal of a subscription), "Paid" (when the order is marked as paid, either manually or automatically), and "Cancellation" (when a subscription is cancelled or has ended). Similar to product parameters, they have a precedence, determining the order in which they are executed, and higher ones are executed later. If any action fails, the execution of all actions for this order item (combination of product and configured parameters) is stopped and the order item state is set to ERROR including an error message. Finally, the URI determines the action:

  • http:// or https:// URLs specify a webhook to be sent to the given URL. Fails if a non-2xx status code is returned.
  • action: URIs have special internal meanings:
    • action:setState:<state> Changes the order item state to the given state, any of PENDING, PROCESSING, TRANSIT, COMPLETE.
    • action:complete Changes the order item state to COMPLETE.
    • action:setExternalId:<value> Sets the externalId of the order item, used for references in other applications (also sent as part of the webhook JSON object). The value can either be a fixed string, or "$" followed by a local variable name (see below). If the variable name is followed by a "?", this action is optional, meaning if the variable is not set, the externalId stays unchanged.
    • action:setServiceUrl:<value> Sets the serviceUrl of the order item, linked with a button on the order overview page. Value format is the same as for action:setExternalId.
    • action:setResponsiblePerson:<value> Sets the responsiblePerson string of the order item, shown to managers on the order overview page. Value format is the same as for action:setExternalId.
    • action:addToPrepaidBalance:<expression> The numeric result of the given expression is added to the prepaid balance of the buyer. This requires a user account (check "Requires User Account" to enforce), otherwise this action fails.

Local variables of an order item are the combination of the product parameters and strings in responses of previous webhook requests. The product parameters are the initial variables, where the variable name is the name of the product parameter (string containing any characters), and the value is the configured parameter value. Then, for each webhook request, if the response is a JSON object, all key-value pairs with string values are added to the set of variables, and new variables with an existing name overwrite the previous value. For example, in some action URLs, the variable containing the value of product parameter "Param 1" can be accessed using "$Param 1", or "{Param 1}" if an expression is expected. In the latter, only variables with a numeric value are available.

Webhook Secret

Any string sent along with all action webhooks. It is recommended to set this to a large random value and check this value on all received webhooks. This prevents malicious clients from sending forged webhooks.

Requires User Account

If checked, user must be logged in to buy this product.

Configure Shipping Cost

The shipping cost of an order is determined by the country it is shipped to and the shipping class of the order. A shipping class is a number setting of products, and the shipping class of the product with the highest shipping class number in the order determines the shipping class of the order. Then, the shipping cost is determined from the configured business attributes. The first configured attribute value, which must be set to a decimal number, of the following attributes is taken as the order shipping cost, from highest to lowest precedence. [sclass] is the shipping class of the order and [cc] is the country code of the country being shipped to.

  • shipping_cost_[sclass]_[cc]
  • shipping_cost_[sclass]_eu if [cc] is a country in the European Union.
  • shipping_cost_[sclass]_international if [cc] is not equal to the country of the business address.
  • shipping_cost_[cc]
  • shipping_cost_eu if [cc] is a country in the European Union.
  • shipping_cost_international if [cc] is not equal to the country of the business address.
  • shipping_cost_[sclass]
  • shipping_cost

If none of these are set (to a decimal number), the shipping cost will be 0.


Sale and Management

Order Configure Page

To sell a product, you must direct the customer to the configure page, so that they can add the product to their cart and continue with checkout. The order configure page of a particular product is https://ec.warpcs.com/order/configure.jspx?p=[bid]/[pid], where [bid] is the ID of your business and [pid] the ID of the product (each shown under Internal ID on the management page). The combination of [bid]/[pid] is referred to as [iid]. You can add an additional query parameter to set the language when a user first visits the page: &il=[lc], where [lc] is a two-letter lowercase language code, such as en or de.

After Checkout

After a customer placed an order for your business, you will get a notification via email. Make sure the email address is functional! In it, there is a link to the order overview page. You can also view a list of all order for your business under "View Orders" on the left as described below.

List of Orders

Under "View Orders", you can view a list of all order for your business. Be careful to not view your own placed orders, but orders for your business; it is stated at the top of the page. Each entry shows the time, order content summary, order number, seller, and status of buyer and seller completion. A green "B" next to the order number means the buyer has completed (i.e. paid), and a green "S" means the seller has completed (i.e. provided all products or services). The goal is for both to be complete, others will have a note in the top right of the box saying something is not complete.

Order Overview Page

The order overview page, accessible over the link in the email or the list of orders, shows all information about an order. This includes addresses, statuses, and a list of included items. At the top right, there is a button to open the invoice PDF file. If a business has provided shipping tracking links, these are also linked using buttons below the invoice; there may be multiple in case the order is split up into multiple packages.

"Completed (seller)" becomes "Yes" if all items are set to COMPLETED by the business. "Completed (buyer)" says "Paid" if the payment is complete; some payment methods take some time to complete, in this case the status is "NOT paid (pending)" until the payment is completed.

A user with management permissions also has permissions to change details of the order, as described in the next subsections.

Regenerate Invoice

If Regenerate Invoice is checked, the invoice PDF file is regenerated when clicking the View Invoice button. There can be any reason to do this, but be aware that details on the invoice might change, for example the invoice issue date, and names, parameter names, or images, in case you changed some of these settings of your business or products.

Shipping Update

Under Shipping tracking links, you can provide one or more tracking links for packages (separated by a space). These will be visible on the order overview page with clickable buttons.

After adding this, you can also notify the buyer via email that their package, containing all or part of their order, is on the way. You need to have at least one item with status TRANSIT to do this. It will be remembered which emails have been sent, so if for example an email saying the entire order is on its way was already sent, no further emails can be sent. This is technically independent of the shipping tracking links; the email does not contain them (but a link to the order overview page) and an email can be sent without any links being set, although you should first add at least one link to properly inform the buyer.

Order Item Status

For each of the items in the order, you can change the status of the order item to one of the following: PROCESSING (you are working on completing this order item), TRANSIT (the package containing this item is on the way), COMPLETE (the services or products were fulfilled). This changes the shown status on the overview page, but does not notify the buyer further, via email or something.

You can also press Claim responsibility to let other business managers know that you will complete this order item. This will be filled with the name in your account, and is only visible to other users with management permissions.


Integration

General

This service generally uses JSON for information exchange. Below is a list of common object types including type names and their attributes.

Attributes are described in the format: name? (type): description. The "?" after the name is only included if the attribute value may be null. Possible types are: integer, decimal, string, boolean, object (the object's attributes are described below the attribute), any defined object type, or any of the mentioned types followed by "[]", denoting an array of the type.

"Order item" generally refers to the combination of business, product, and product parameters in an order. For price values represented by a decimal, the effective price is the numeric value rounded to the second fractional digit.

JSON Types

Business

- id (string): The internal unique ID of this business.
- name (string): Registered name of this business.
- address (string): Address of the business. This is a string with three lines separated by line breaks ("\n"). The first line is the street address, the second is the postal code followed by the city, and the third is the country name.
- iconUrl (string): URL to an image file shown next to the business name in some places.
- termsUrl? (string): Configured URL to the business terms.
- emailAddress (string): Primary business email address.
- ownerId (number): The user ID of the management owner of the business.
- verified (boolean): Whether this business is verified.

Product

- id (integer): The internal unique ID of this product.
- name (string): Name of this product shown to users.
- iconUrl (string): URL to an image file shown next to the product in some places.
- ownerId (number): The user ID of the management owner of the product.
- basePrice (decimal): Base price of the product.
- webhookSecret? (string): Configured webhook secret.
- userAccountRequired (boolean): Configured value of whether a user account is required for purchase.
- salePaused (boolean): See "Manage Product" under "Products".
- individualSale (boolean): See "Manage Product" under "Products".
- billingAddressNotRequired (boolean): See "Manage Product" under "Products".
- shippingClass (integer): Configured shipping class.
- renewalInterval (integer): Configured renewal interval.
- earlyRenewalAllowed (boolean): Whether early renewal is allowed.

Order

- id (integer): The internal unique ID of this order.
- uid (integer): User ID of the buyer. May be 0 if the order was placed without a user account.
- time (integer): The time this order was placed, in milliseconds since midnight, January 1, 1970 UTC.
- accessToken (string): Access token for accessing the order overview page and other resources of this order without an authorized user account.
- buyerBillingName (string): Name of the buyer.
- buyerBillingAddress? (string): Address of the buyer. Same format as "address" in Business. May be null if no billing address is required according to the configuration of the products in this order.
- buyerShippingName? (string): Name of the recipient. If null, the recipient is the same as the buyer.
- buyerShippingAddress? (string): Address of the recipient. Same format as "address" in Business. If null, the recipient is the same as the buyer, and "buyerShippingName" is also null if and only if this is null.
- buyerEmailAddress (string): Email address of the buyer.
- buyerLocale (string): Two-letter language code the buyer used when placing the order.
- shippingCost (decimal): Shipping cost of this order.
- paymentMethod? (string): Description of the payment method for this order. May be null if not yet selected.
- paymentProcessorFee (decimal): Fee of the payment processor.
- paymentId? (string): Payment ID. Not set if the payment option does not provide a payment ID. Starts with ID of the payment method, followed by a colon and the payment option specific ID.
- paymentProcessing (boolean): Whether a payment is expected to be received, and no action is currently required by the buyer. Always false if "paymentReceptionTime" is positive.
- paymentReceptionTime (integer): The time the full payment was received, in milliseconds since midnight, January 1, 1970 UTC. If non-positive, no payment was received yet.
- shippingTrackingNotifyState (integer)
- shippingTrackingLinks (string[]): The list of shipping links.

ProductParameter

- id (integer): The internal unique ID of this product parameter.
- pid (integer): The ID of the product this product parameter belongs to.
- type (integer): Type ID of this parameter.
- typeString (string): String representation of the type.
- precedence (integer): Configured precedence. Since this can be configured to any value in the product settings, this can be used as a unique configurable parameter ID.
- optional (boolean): Whether this parameter is optional.
- validation? (string): Configured validation of this parameter.
- expression? (string): Configured expression for this parameter.
- name (string): Name of the parameter.
- shownOnInvoice (boolean): Whether this parameter is shown on invoices.

Subscription

- id (integer): The internal unique ID of this subscription.
- renewalEnabled (boolean): Whether automatic renewal is enabled by the user.
- expiryTime (integer): The time this subscription expires, in milliseconds since midnight, January 1, 1970 UTC.
- ended (boolean): Whether this subscription has ended and its services were cancelled. Happens a few days after expiration.

OrderItemExpanded

- oid (integer): The internal unique ID of this order item.
- order (Order): The order this order item belongs to.
- business (Business): The business the purchase was made with.
- product (Product): The product that was purchased.
- subscription? (Subscription): Associated subscription.
- externalId? (string): External ID for technical use, set by product actions. Can be used to link the subscription associated with this order item to an external service.
- count (integer): Number of equal items purchased represented by this order item.
- finalPrice (decimal): Final price of this order item. If count is larger than 1, it is already factored into this price.
- state (integer): State of this order item.
- stateString (string): String representation of the state of this order item.
- serviceStartTime (integer): Time when service of this product is provided (e.g. for subscriptions, this is the start time of the purchased subscription time frame, which may be significantly in the future).
- responsiblePerson (string): Responsible person name for this order item, can be set by managers on the order overview page.
- params (object[]): List of parameters given by the buyer.
- parameter (ProductParameter): The parameter.
- value (integer, decimal, string, or boolean): The converted value of the parameter value given by the buyer.

Webhooks

Webhooks are sent for different types of events that happen during an order. A webhook is sent to a given URL using a HTTP POST request with a JSON body. A webhook endpoint must return a 2xx status to consider the webhook to have been sent successfully. When a webhook could not be delivered, delivery is reattempted multiple times before failing the action producing the webhook. The following sections describe each webhook type in detail.

A webhook body always has the attribute "webhooktype", indicating the type of the webhook, with a value equal to any of the following section titles.

BUY

This webhook is sent after the initial purchase of every order item in an order. The webhook body is a single OrderItemExpanded object, with the additional "webhooktype" attribute.

The response of this webhook is parsed as a JSON object, and each key-string or key-numeric pair is saved as a variable, which can be used in subsequent actions (see "Actions" subsection under "Products"). A special variable is "error"; if this is set to a string in the response object, this action will fail with the given string as the error message (note that the endpoint will still need to return a 2xx status code, otherwise the webhook will be considered to not have been sent successfully and retried).

Example

RENEW

This webhook is sent after the purchase of an order item renewing a subscription. The webhook body is a single OrderItemExpanded object, with the additional "webhooktype" attribute.

The response is treated in a similar way as in the BUY webhook.

This webhook is sent for every order item of an order where payment has completed, both when the payment was marked completed automatically or manually. For an order where payment is completed immediately, these webhooks are sent immediately after all BUY or RENEW webhooks were sent. This webhook may be sent again if the order was manually marked as unpaid and then paid again. The webhook body is a single OrderItemExpanded object, with the additional "webhooktype" attribute.

The response is treated in a similar way as in the BUY webhook.

Example

SUBTERM

This webhook is sent within 1 day after the start of a new subscription term. It is not sent after the initial purchase. For example, for a subscription with a renewal interval of 30 days, this is first sent on the 30th day after the initial purchase, regardless of when the subscription was renewed. The webhook body is a single OrderItemExpanded object, the order item representing the started subscription term, with the additional "webhooktype" attribute.

The response is treated in a similar way as in the BUY webhook.

CANCEL

This webhook is sent after a subscription ends, which happens a few days after expiration, and services should be cancelled. The webhook body is a single OrderItemExpanded object, with the additional "webhooktype" attribute. The order item represented by the webhook body is the last created order item associated with the subscription.

The response is treated in a similar way as in the BUY webhook.

SEPA_DIRECT_DEBIT_PAYMENT

This webhook is sent during checkout, when a user chooses the "sepadirectdebit" payment option (see business attribute sepadirectdebit_webhookurl).

The webhook body has the following attributes:

- order (Order): The order being paid. Due to technical reasons (because the order has not yet been completed), the "id" attribute in this object is always 0. To associate a received payment with an order, create a payment ID, return it in the webhook response (see below), and include it in the transfer reference. The provided payment ID is stored in the order and shown on the order list and order overview page.
- business (Business): The business the purchase is being made with.
- amount (string): Total price of the order and amount to be transferred in euros. String representation of a decimal with two digits after the decimal separator.
- payer_name (string): Name of the account holder of the account to be debited. Usually equal to the buyer name.
- payer_iban (string): IBAN of the account to be debited.
- secret (string): Value of sepadirectdebit_secret business attribute.

The response of this webhook is parsed as a JSON object, with two optional attributes:

- paymentId? (string): The payment ID to store in the order for later association. This is also shown on the invoice.
- paymentMethodAdditional? (string): String added to the end of the payment method description, can be used to provide more information.

Example