-
Notifications
You must be signed in to change notification settings - Fork 67
Methods for Skip Pay
ℹ️ By 6 October 2022 mallpay rebranded to Skip Pay. Except the name everything remains the same. Only in the eAPI section here in the wiki and in API code mallpay is still being used (operations and parameters). Methods for mallpay (Skip Pay) remain functional.
The Skip Pay payment method uses the mallpay/init
methods API to initialise a payment at the payment gateway and mallpay/logistics
to pass the delivery status to the payment gateway. The payment can be cancelled using the mallpay/cancel
method and a partial or full refund of the payment amount can be made using the mallpay/refund
method. The general API function payment/status
is used to determine the status of a payment.
The Skip Pay payment is processed at the Skip Pay payment gateway, i.e. the customer is redirected from the e-shop to Skip Pay. The redirection parameters are the result of calling mallpay/init
. If the Skip Pay already knows the customer and knows that Skip Pay payment is not possible for a particular purchase, the mallpay/init
call will be rejected and the customer is not unnecessarily redirected to the Skip Pay gateway. The merchant can offer alternative payment methods.
Method | Description |
---|---|
mallpay/init | Initialisation of Deferred Payment at the payment gateway for mallpay@shop. |
mallpay/logistics | Using this operation, the merchant sends data about the delivery of goods to customers or data about cancelled order items. |
mallpay/cancel | Using this operation, the merchant can cancel the Deferred Payment. |
mallpay/refund | Making a refund of the amount of the Skip Pay payment. |
- When initialising a payment (
mallpay/init
) it is necessary to identify the items and the customer. - When sending/delivering goods (
mallpay/logistics
), it is necessary to identify the items being sent/delivered. - Similarly, in the case of a return (
mallpay/refund
), it is necessary to send the list of items to which the financial return is linked. - Only the
mallpay/cancel
method does not require item identification, since this method cancels the entire order.
The following basic data structures are used to call Skip Pay methods:
- address (Address)
- price (Price)
- vat (Tax rate and amount)
- order item (Order item)
These sections allow compilation of more complex data structures for the mallpay/init
operation:
In addition, the mallpay/logistics
and mallpay/refund
operations refer to order items using data structures:
- item reference (Order item reference)
- order reference (Order reference)
The following section provides an overview of the above-mentioned basic data structures and their parameters, including an example how these need to be filled out:
The parameters in bold are mandatory for calls.
Item | Type | Description |
---|---|---|
name | String | Name, max. length 40 characters |
country | String | State, max. length 20 characters |
city | String | City, max. length 50 characters |
streetAddress | String | Street (part of town), max. length 100 characters |
streetNumber | String | Land registry house number., max. length 25 characters |
zip | String | Postal code, max. length 10 characters |
addressType | String | Address type; the address details are completed during the order, allowed values:DELIVERY (delivery address)BILLING (billing address) |
Example of filling in a billing address
{
"addressType":"BILLING",
"streetAddress":"Radlická 333",
"city":"Praha 5",
"zip":"15000",
"country":"CZ"
}
Item | Type | Description |
---|---|---|
amount | Number | Amount in hundredths of the base currency (eg 12590 corresponds to CZK 125.90) |
currency | String | Currency according to ISO 4217 format; only the CZK is allowed for the Skip Pay payment method |
Example of filling in the amount of CZK 125.90
{
"amount":12590,
"currency":"CZK"
}
Item | Type | Description |
---|---|---|
amount | Number | The amount of tax in hundredths of the base currency (eg 5000 corresponds to CZK 50.00) |
currency | String | Currency according to ISO 4217 format; only the CZK is allowed for the Skip Pay payment method |
vatRate | Number | Tax rate as natural number (value 15 corresponds to 15% rate) |
Example of filling in a 15% tax rate of CZK 50
{
"amount":5000,
"currency":"CZK",
"vatRate":15
}
Item | Type | Description |
---|---|---|
code | String | Item code (internal for e-shop). It is used for better identification of the item in case of performing the follow up operations (mallpay/logistics , mallpay/refund ). Neither the payment gateway nor the Skip Pay validates this code, max. length 50 characters |
ean | String | EAN code, max. length 15 characters |
name | String | Item name, max. length 200 characters |
type | String | Item type. Allowed values:PHYSICAL for physical goods that the trader delivers to or collects from the customer; DISCOUNT is used if the discount is listed as a separate item on the invoice; DIGITAL use for digital items, such as electronic licenses or media; GIFT_CARD use when selling gift cards; STORE_CREDIT use if you are selling or giving a customer a gift card that can only be used in your store; SALES_TAX use if you provide tax amount (eg. VAT) as a separate item on the invoice (in the Czech environment this is not typically used); SHIPPING_FEE is used for freight; INSURANCE use if you list the insurance as a separate item on the invoice; FEE use for other fees. |
quantity | Number | Amount. If empty, it corresponds to a value of 1. |
variant | String | Product variant (e.g. colour, package size, memory size, etc.) - for iPhone 7 this is a "64 GB Space grey" (it does not appear anywhere in the Skip Pay system to the customer), max. length 50 characters |
description | String | Short product description, max. length 100 characters |
producer | String | Manufacturer (producer), max. length 50 characters |
categories | Array | List of categories into which the item can be included (may correspond to categories in the e-shop, it does not appear anywhere in the Skip Pay system to the customer). |
unitPrice | Object | Unit price of one piece of item, see data structure price, stated as price including tax (VAT). The tax is calculated in a separate parameter unitVat . |
unitVat | Object | Unit tax per item, see data structure VAT |
totalPrice | Object | The total price of the item, see data structure Amount, stated as the total price for the purchased number of items including tax (VAT). The tax is calculated in a separate parameter totalVat . |
totalVat | Object | Total tax for the number of items purchased, see data structure VAT. |
productUrl | String | URL corresponding to the description of the item in the e-shop, max. length 250 characters |
Example of an order item
{
"code":"X123",
"name":"iPhone XS",
"totalPrice": {
"amount":1452000,
"currency":"CZK"
},
"totalVat": {
"amount":252000,
"currency":"CZK",
"vatRate":21
}
}
The following section provides an overview of the above-mentioned more complex data structures and their parameters, including an example how these should be filled out:
Item | Type | Description |
---|---|---|
firstName | String | Customer's first name. Mandatory if fullName is empty, max. length 40 characters. |
lastName | String | Customer's surname. Mandatory if fullName is empty, max. length 40 characters. |
fullName | String | The customer's full name (as opposed to firstName and lastName as a single entry), including academic degrees. Required only if firstName and lastName are empty, max. length 100 characters. |
titleBefore | String | Academic title before the name, max. length 20 characters. |
titleAfter | String | Academic title after the name, max. length 20 characters. |
String | Customer e-mail address, max. length 50 characters. | |
phone | String | Telephone number including international prefix (including the introductory character +), max. length 16 characters. |
tin | String | Customer Identification number, max. length 10 characters. |
vatin | String | Customer tax identification number, max. length 12 characters. |
Example of filling customer data (filling in separate fields for name and surname):
{
"firstName":"Adam",
"lastName":"Beran",
"email": "[email protected]",
"phone": "+420800300300"
}
Example of filling in the customer data (filling in the fullName item for name and surname):
{
"fullName":"Adam Beran",
"email": "[email protected]",
"phone": "+420800300300"
}
Item | Type | Description |
---|---|---|
totalPrice | Object | The total price including VAT, this amount will be sent to the merchant’s account, description see data structure price. |
totalVat | Array | Breakdown of the total price into one or more tax rates, description see data structure VAT. |
addresses | Array | Address list. As of version 1.9, both the billing address (type BILLING ) and the delivery address (type DELIVERY ) are optional. It is recommended to complete the billing address and only send an additional delivery address (if this is different from the billing address). |
deliveryType | String | Delivery type. In the case of the value DELIVERY_CARRIER , it is possible to specify the delivery in the parameter carrierId or carrierCustom .Allowed values: DELIVERY_CARRIER (shipping by the carrier to the address specified by the customer)PERSONAL_BRANCH (personal pickup at the e-shop)PERSONAL_PARTNER (personal pickup at the e-shop distribution partner's premises)ONLINE (electronic delivery - e.g. for electronic licences, gift cards, etc.) |
carrierId | String | Carrier identification, Allowed values:CZ_POST_HAND CZ_POST_OFFICE CZ_POST_OTHER PPL DPD GEIS IN_TIME TOP_TRANS GEBRUDER_WEISS LOCAL_COURIER TNT GLS HDS_COMFORT HDS_STANDARD MALL_DEPOSIT . |
carrierCustom | String | Specify the carrier if it cannot be specified with carrierId . |
items | Array | Order items, description -see order item data structure. |
There is a limit for order items count. Max length of serialized JSON data of order structure must not exceed 4000 chars.
Example of the order completion (one item, billing address):
{
"totalPrice": {
"amount":1452000,
"currency":"CZK"
},
"totalVat": [{
"amount":252000,
"currency":"CZK",
"vatRate":21
}],
"addresses": [{
"addressType":"BILLING",
"streetAddress":"Radlická 333",
"city":"Praha 5",
"zip":"15000",
"country":"CZ"
}],
"items": [{
"code":"X123",
"name":"iPhone XS",
"totalPrice": {
"amount":1452000,
"currency":"CZK"
},
"totalVat": {
"amount":252000,
"currency":"CZK",
"vatRate":21
}
}]
}
Example of filling out an order (two items, each at a different tax rate, without a billing or shipping address):
{
"totalPrice": {
"amount":3047400,
"currency":"CZK"
},
"totalVat": [{
"amount":522900,
"currency":"CZK",
"vatRate":21
},
{
"amount":4500,
"currency":"CZK",
"vatRate":15
}],
"items": [{
"code":"A456",
"name":"Canon EOS 80D",
"totalPrice": {
"amount":3012900,
"currency":"CZK"
},
"totalVat": {
"amount":522900,
"currency":"CZK",
"vatRate":21
}
},
{
"code":"Y987",
"name":"Fotografická příručka",
"totalPrice": {
"amount":34500,
"currency":"CZK"
},
"totalVat": {
"amount":4500,
"currency":"CZK",
"vatRate":15
}
}]
}
The following section provides an overview of the above-mentioned data structures for mallpay/logistics and mallpay/refund and their parameters, including an example:
This data structure is used to pass a reference to the delivered, shipped or cancelled order items in a mallpay/logistics
call or to pass a reference to the returned order items in a mallpay/refund
call.
Attention! The same item code
must be entered in the order item reference data structure as when creating an order in the OrderItem
data structure in the mallpay/init
call. If it is not the same, the Skip Pay validation system will fail the call.
Item | Type | Description |
---|---|---|
code | String | Item code (internal for e-shop). Used to identify the order item, max. length 50 characters. |
ean | String | EAN code, max. length 15 characters. |
name | String | Item name, max. length 200 characters. |
type | String | Item type, Allowed values:PHYSICAL DISCOUNT SHIPPING_FEE SALES_TAX DIGITAL GIFT_CARD STORE_CREDIT FEE INSURANCE . |
quantity | Number | Amount. If empty, it corresponds to a value of 1. |
Example of filling out the reference to an order item:
{
"code":"X123",
"name":"iPhone XS"
}
This data structure is used in the mallpay/logistics
call to transmit data on the total price of delivered or sent goods, including the breakdown into tax rates and delivered or sent items of the order. Via this structure, the merchant can also pass on the data about the cancelled part of the order within mallpay/logistics
.
Item | Type | Description |
---|---|---|
totalPrice | Object | Total price including VAT, description see data structure Price. |
totalVat | Array | Tax rate, description see data structure VAT. |
items | Array | An array of "order item reference" objects by which the merchant references order items, description see data structure Item reference. |
Example of filling in an order reference:
{
"totalPrice": {
"amount":1452000,
"currency":"CZK"
},
"totalVat": [{
"amount":252000,
"currency":"CZK",
"vatRate":21
}],
"items": [{
"code":"X123",
"name":"iPhone XS"
}]
}
POST https://api.platebnibrana.csob.cz/api/v1.9/mallpay/init
This operation creates a Deferred Payment (mallpay@shop). The payment gateway transmits customer and order data to the Skip Pay system. The Skip Pay system performs a pre-check of the customer, and if payment is possible for the given customer, the result of this operation is primarily the URL for redirection to the Skip Pay.
Item | Type | Description |
---|---|---|
merchantId | String | Merchant ID assigned by the payment gateway. |
orderNo | String | The reference number of the order used for matching payments, which will also be stated on the bank statement. Numeric value, max. length 10 digits. |
customer | Object | Customer information that will be used to process the Deferred Payment at Skip Pay. Description of parameters see data structure Customer. |
order | Object | Order details that will be used to process Deferred Payment at Skip Pay. Description of parameters see data structure Order. |
agreeTC | Boolean | Customer consents to Skip Pay terms and conditions. Allowed values: true , false . It is not necessary to display the conditions on the e-shop - in this case, please send false and the Skip Pay system will ensure that the conditions are agreed. If you display the conditions, consent in the sense of checking the checkbox is not required. This is an informed consent that you just need to display. |
dttm | String | Date and time the request was sent in the format YYYYMMDDHHMMSS . |
clientIp | String | IP address of the customer (his browser) accessing the merchant's e-shop, ipv4 or ipv6 format. |
returnUrl | String | URL address to which the client will be redirected back to the e-shop in case of cancellation by the customer. Maximum length 300 characters. When redirecting back to the e-shop, the same parameter set is passed as in the case of returning from the payment gateway when paying by card. |
returnMethod | String | The method of returning to the e-shop URL. Allowed values POST , GET . The recommended method is POST . |
merchantData | String | Any auxiliary data that the merchant passes to the gateway, must be BASE64 encoded. The maximum length after encoding is 255 characters. In case of the "Marketplace" business model, the merchant must identify his retailer using the ID company number. This identifier must be enclosed in square brackets [] and can be placed arbitrarily within the merchantData item. If several retailers participate in the purchase, the ID number values are separated by a comma - e.g. [12345678,87654321]. |
ttlSec | Number | Payment life setting, in seconds, min. allowed value 600, max. allowed value 43200 (10 min - 12 hours). Payment lifetime is calculated from the moment of mallpay/init call. |
signature | String | Request signature, encoded in BASE64. |
Example of request:
{
"merchantId":"M1MIPS0000",
"orderNo":"51966",
"customer": {
"firstName": "Adam",
"lastName": "Malý",
"email": "[email protected]",
"phone": "+420800300300"
},
"order": {
"totalPrice": {
"amount":1210000,
"currency":"CZK"
},
"totalVat": [{
"amount":210000,
"currency":"CZK",
"vatRate":21
}],
"addresses": [
{
"addressType":"BILLING",
"streetAddress":"Radlická 333",
"city":"Praha 5",
"zip":"15000",
"country":"CZ"
}
],
"items": [
{
"code":"ABC123",
"name":"iPhone 8S",
"totalPrice": {
"amount":1210000,
"currency":"CZK"
},
"totalVat": {
"amount":210000,
"currency":"CZK",
"vatRate":21
}
}
]
},
"agreeTC":true,
"dttm":"20220125131559",
"clientIp":"192.0.2.2",
"returnUrl":"https://shop.example.com/return",
"returnMethod":"POST",
"merchantData":"some-base64-encoded-merchant-data",
"signature":"base64-encoded-signature-of-payment-request"
}
Item | Type | Description |
---|---|---|
payId | String | Unique payment ID (assigned by the payment gateway in the mallpay/init operation, contains a 15-character string). |
dttm | String | Date and time of the response in the format YYYYMMDDHHMMSS . |
resultCode | Number | The result of the operation, see list. |
resultMessage | String | Text description of the operation result. |
paymentStatus | Number | Payment status, see payment lifecycle. |
mallpayUrl | String | URL for redirecting the customer to Skip Pay, filled in if resultCode is 0 . |
signature | String | Response signature, encoded in BASE64. |
Example of return values for mallpay/init operation -- payment successfully initialised:
{
"payId":"be36dc0c6229@HA",
"dttm":"20220125131601",
"resultCode": 0,
"resultMessage":"OK",
"paymentStatus": 2,
"mallpayUrl": "https://www.mallpay.cz/...",
"signature":"base64-encoded-response-signature"
}
Example of return values for mallpay/init operation - rejected payment (invalid input parameters):
{
"payId":"be36dc0c6229@HA",
"dttm":"20220125131601",
"resultCode": 110,
"resultMessage":"Missing 'customer' parameter",
"paymentStatus": 6,
"signature":"base64-encoded-response-signature"
}
PUT https://api.platebnibrana.csob.cz/api/v1.9/mallpay/logistics
Using this operation, the merchant transmits the delivery or dispatch data (according to the contractual settings with Skip Pay) of the individual items of the order to the customer. If the merchant has not sent / delivered all the original items of the order (passed to the payment gateway in operation mallpay/init), these items must be listed in the cancelled items.
Item | Type | Description |
---|---|---|
merchantId | String | Merchant ID assigned by the payment gateway. |
payId | String | PayID of payment. |
event | String | Method of delivery of goods, Allowed values: delivered , sent . |
date | String | Date of delivery or dispatch of the goods, format YYYYMMDD . |
fulfilled | Object | Information about the delivered/sent items of the order, including the total amount and breakdown of tax rates, description see data structure Order reference. |
cancelled | Object | Details of cancelled order items, including the total amount and breakdown of tax rates, description see data structure Order reference, filled in in case of cancelled orders at Skip Pay. |
deliveryTrackingNumber | String | Tracking number at the carrier. |
dttm | String | Date and time the request was sent in the format YYYYMMDDHHMMSS . |
signature | String | Request signature, encoded in BASE64. |
Example of request:
{
"merchantId":"M1MIPS0000",
"payId":"be36dc0c6229@HA",
"event":"delivered",
"date":"20191020",
"fulfilled": {
"totalPrice": { "amount":24200, "currency":"CZK" },
"totalVat": [ { "amount":4200, "currency":"CZK", "vatRate":21 } ],
"items":[
{
"code":"AX1255c",
"name":"Obal na iPhone XS",
"type":"PHYSICAL",
"quantity":1
}
]
},
"dttm":"20220125131610",
"signature":"base64-encoded-request-signature"
}
Item | Type | Description |
---|---|---|
payId | String | Unique payment ID (assigned by the payment gateway in the mallpay/init operation, contains a 15-character string). |
dttm | String | Date and time of the response in the format YYYYMMDDHHMMSS . |
resultCode | Number | The result of the operation, see list. |
resultMessage | String | Text description of the operation result. |
paymentStatus | Number | Payment status, see payment lifecycle. |
statusDetail | String | Detailed status of payment (detailed status), contains, for example, the reason for rejecting the payment, for possible values see list. |
signature | String | Response signature, encoded in BASE64. |
Example of the return values for mallpay/logistics operation:
{
"payId":"be36dc0c6229@HA",
"dttm":"20220125131612",
"resultCode": 0,
"resultMessage":"OK",
"paymentStatus": 7,
"signature":"base64-encoded-response-signature"
}
PUT https://api.platebnibrana.csob.cz/api/v1.9/mallpay/cancel
Using this operation, the merchant will cancel the Deferred Payment, stating the reason for the cancellation in the input parameters. The entire order is cancelled, so references to the order items are not passed in this call.
Item | Type | Description |
---|---|---|
merchantId | String | Merchant ID assigned by the payment gateway. |
payId | String | PayID of payment. |
reason | String | Reason for cancellation of payment by the merchant, Allowed values:aborted for a cancelled order by the customer; other_payment for a situation where the customer has decided to change the method of payment; undeliverable in case the order was cancelled due to non-delivery (for example an uncollected parcel); unavailable in case of order cancellation due to unavailability of goods; abandoned in case the customer does not complete the order (only if the e-shop requires additional steps to complete the order after confirming the Skip Pay payment); changed in case the customer has changed the order and it has therefore expired; unprocessed for other reasons on the part of the e-shop, which led to the impossibility to complete/fulfil the order. |
dttm | String | Date and time the request was sent in the format YYYYMMDDHHMMSS . |
signature | String | Request signature, encoded in BASE64. |
Example of request:
{
"merchantId":"M1MIPS0000",
"payId":"be36dc0c6229@HA",
"reason":"aborted",
"dttm":"20220125131620",
"signature":"base64-encoded-request-signature"
}
Item | Type | Description |
---|---|---|
payId | String | Unique payment ID (assigned by the payment gateway in the mallpay/init operation, contains a 15-character string). |
dttm | String | Date and time of the response in the format YYYYMMDDHHMMSS . |
resultCode | Number | The result of the operation, see list. |
resultMessage | String | Text description of the operation result. |
paymentStatus | Number | Payment status, see payment lifecycle. |
statusDetail | String | Detailed status of payment (detailed status), contains, for example, the reason for rejecting the payment, for possible values see list. |
signature | String | Response signature, encoded in BASE64. |
Example of thereturn values for mallpay/cancel operation:
{
"payId":"be36dc0c6229@HA",
"dttm":"20220125131622",
"resultCode": 0,
"resultMessage":"OK",
"paymentStatus": 3,
"signature":"base64-encoded-response-signature"
}
PUT https://api.platebnibrana.csob.cz/api/v1.9/mallpay/refund
By calling the operation, it is requested that the funds are returned to the payer. This applies to already posted payments. It is also possible to make a so-called partial return by filling in the optional parameter amount
. The partial refund can be performed repeatedly, provided that the amount in the amount
parameter must be less than the difference between the original authorised amount and the amount of the partial returns made (approved) so far.
Item | Type | Description |
---|---|---|
merchantId | String | Merchant ID assigned by the payment gateway. |
payId | String | Unique payment ID (assigned by the payment gateway in the mallpay/init operation). |
dttm | String | Date and time the request was sent in the format YYYYMMDDHHMMSS . |
amount | Number | Required amount for a partial return in hundredths of the base currency; optional for full return. |
refundedItems | Array | Details of returned order items, description see data structure Item reference; mandatory for partial and full return. |
signature | String | Request signature, encoded in BASE64. |
Example of request:
{
"merchantId":"M1MIPS0000",
"payId":"be36dc0c6229@HA",
"refundedItems":[
{
"code":"AX1255c",
"name":"Obal na iPhone XS"
}],
"dttm":"20220125131710",
"signature":"base64-encoded-request-signature"
}
Item | Type | Description |
---|---|---|
payId | String | Unique payment ID (assigned by the payment gateway in the mallpay/init operation, contains a 15-character string). |
dttm | String | Date and time of the response in the format YYYYMMDDHHMMSS . |
resultCode | Number | The result of the operation, see list. |
resultMessage | String | Text description of the operation result. |
paymentStatus | Number | Payment status, see payment lifecycle. |
statusDetail | String | Detailed status of payment (detailed status), contains, for example, the reason for rejecting the payment, for possible values see list. |
signature | String | Response signature, encoded in BASE64. |
Processing of this operation is asynchronous, the parameter paymentStatus
in the return values therefore contain the current status of the payment request (* Payment settled *), the status of the payment request can be monitored via payment/status
.
Example of return values for mallpay/refund operation:
{
"payId":"be36dc0c6229@HA",
"dttm":"20220125131713",
"resultCode": 0,
"resultMessage":"OK",
"paymentStatus": 8,
"signature":"base64-encoded-response-signature"
}
The Skip Pay payment method supports detailed status in states 3, 6 and 10 only.
For payments cancelled by the merchant (after the merchant called the operation mallpay/cancel
) the payment gateway distinguishes the following detailed statuses:
statusDetail | Description |
---|---|
canceled.aborted#mallpay |
cancelled by the customer |
canceled.other_payment#mallpay |
change of payment method and cancelation of the order |
canceled.undeliverable#mallpay |
undeliverable |
canceled.unavailable#mallpay |
goods unavailable |
canceled.abandoned#mallpay |
order abandoned by customer |
canceled.changed#mallpay |
the order has changed and expired |
canceled.unprocessed#mallpay |
otherwise unprocessed order |
For rejected payments, the payment gateway distinguishes the following detailed statuses:
statusDetail | Description |
---|---|
declined.abandoned#mallpay |
abandoned in request - timeout of the payId |
declined.rejected#mallpay |
general rejection - rejection of an application in Skip Pay |
declined.shipping_timeout#mallpay |
the merchant did not hand over the logistics status within the limit |
For payments that have been refunded, the payment gateway distinguishes between the following detailed statuses:
statusDetail | Description |
---|---|
refunded.full#mallpay |
full refund made (one or several partial refunds) |
refunded.partial#mallpay |
partial refund made (one or several partial refunds, where the amount of the original payment has not been reached) |
- Payment lifecycle
- Integration and API security
- Activation of the production environment
- Test cards and credentials
- API Sunset
- Payment Authentication
- Basic Payment
- OneClick Payment
- Custom Payment
- Apple Pay
- Google Pay
- Collecting partial card payment
- ČSOB Payment Button
- Payment Skip Pay
- API Integration
- Request Signing and Response Signature Validation
- API Methods Overview
- Basic Methods
- Methods for OneClick Payment
- Methods for Apple Pay
- Methods for Google Pay
- Methods for ČSOB Payment Button
- Methods for Skip Pay
- Purchase metadata