添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
耍酷的啄木鸟  ·  Imports - Post Import ...·  1 月前    · 
行走的酱肘子  ·  requests(一): ...·  1 月前    · 
淡定的地瓜  ·  鹿城区人民政府·  6 月前    · 
一身肌肉的包子  ·  上线清单 | Adobe ...·  7 月前    · 
英俊的跑步机  ·  Development SSL for ...·  10 月前    · 

Datatrans API Reference ( 2.0.46 )

Download OpenAPI specification : Download

Welcome to the Datatrans API reference. This document is meant to be used in combination with https://docs.datatrans.ch . All the parameters used in the curl and web samples are described here. Reach out to support@datatrans.ch if something is missing or unclear.

Last updated: 29.08.24 - 14:21 UTC

We have three integrations available: Redirect , Lightbox and Secure Fields .

Redirect & Lightbox

  • Send the required parameters to initialize a transactionId to the init endpoint.
  • Let the customer proceed with the payment by redirecting them to the correct link - or showing them your payment form.
    • Redirect: Redirect the browser to the following URL structure
      https://pay.sandbox.datatrans.com/v1/start/transactionId
      
    • Lightbox: Load the JavaScript library and initialize the payment form:
      <script src="https://pay.sandbox.datatrans.com/upp/payment/js/datatrans-2.0.0.js">
      
      payButton.onclick = function() {
        Datatrans.startPayment({
          transactionId:  "transactionId"
      
      
      
      
          
      
        });
      
    • Your customer proceeds with entering their payment information and finally hits the pay or continue button.
    • For card payments, we check the payment information with your acquirers. The acquirers check the payment information with the issuing parties. The customer proceeds with 3D Secure whenever required.
    • Once the transaction is completed, we return all relevant information to you (check our Webhook section for more details). The browser will be redirected to the success, cancel or error URL with our datatransTrxId in the response.
    • Secure Fields

    • Send the required parameters to initialize a transactionId to our secureFieldsInit endpoint.
    • Load the Secure Fields JavaScript libarary and initialize Secure Fields:
      <script src="https://pay.sandbox.datatrans.com/upp/payment/js/secure-fields-2.0.0.js">
      
      var secureFields = new SecureFields();
      secureFields.init(
        {{transactionId}}, {
            cardNumber: "cardNumberPlaceholder",
            cvv: "cvvPlaceholder",
        });
      
    • Handle the success event of the secureFields.submit() call.
    • If 3D authentication is required for a specific transaction, the redirect property inside the data object will indicate the URL that the customer needs to be redirected to.
    • Use the Authorize an authenticated transactionendpoint to fully authorize the Secure Fields transaction. This is required to finalize the authorization process with Secure Fields.
  • To retry identical requests with the same effect without accidentally performing the same operation more than needed, you can add the header Idempotency-Key to your requests. This is useful when API calls are disrupted or you did not receive a response. In other words, retrying identical requests with our idempotency key will not have any side effects. We will return the same response for any identical request that includes the same idempotency key.

    If your request failed to reach our servers, no idempotent result is saved because no API endpoint processed your request. In such cases, you can simply retry your operation safely. Idempotency keys remain stored for 60 minutes. After 60 minutes have passed, sending the same request together with the previous idempotency key will create a new operation.

    Please note that the idempotency key has to be unique for each request and has to be defined by yourself. We recommend assigning a random value as your idempotency key and using UUID v4. Idempotency is only available for POST requests.

    Idempotency was implemented according to the "The Idempotency HTTP Header Field" Internet-Draft

    Scenario Condition Expectation First time request Idempotency key has not been seen during the past 60 minutes. The request is processed normally. Repeated request The request was retried after the first time request completed. The response from the first time request will be returned. Repeated request The request was retried before the first time request completed. 409 Conflict. It is recommended that clients time their retries using an exponential backoff algorithm. Repeated request The request body is different than the one from the first time request. 422 Unprocessable Entity.

    Example:

    curl -i 'https://api.sandbox.datatrans.com/v1/transactions' \
        -H 'Authorization: Basic MTEwMDAwNzI4MzpobDJST1NScUN2am5EVlJL' \
        -H 'Content-Type: application/json; charset=UTF-8' \
        -H 'Idempotency-Key: e75d621b-0e56-4b71-b889-1acec3e9d870' \
        -d '{
        "refno" : "58b389331dad",
        "amount" : 1000,
        "currency" : "CHF",
        "paymentMethods" : [ "VIS", "ECA", "PAP" ],
        "option" : {
           "createAlias" : true
    

    Authentication to the APIs is performed with HTTP basic authentication. Your merchantId acts as the username. To get the password, login to the dashboard and navigate to the security settings under UPP Administration > Security .

    Create a base64 encoded value consisting of merchantId and password (most HTTP clients are able to handle the base64 encoding automatically) and submit the Authorization header with your requests. Here’s an example:

    base64(merchantId:password) = MTAwMDAxMTAxMTpYMWVXNmkjJA==
    
    Authorization: Basic MTAwMDAxMTAxMTpYMWVXNmkjJA==
    

    All API requests must be done over HTTPS with TLS >= 1.2.

    After each authorization Datatrans tries to call the configured Webhook (POST) URL. The Webhook URL can be configured within the dashboard . It is also possible to overwrite the configured webhook URL with the init.webhook property. The Webhook payload contains the same information as the response of a Status API call.

    If you want your webhook requests to be signed, setup a HMAC key in your merchant configuration. To get your HMAC key, login to our dashboard and navigate to the Security settings in your merchant configuration to view your server to server security settings. Select the radio button Important parameters will be digitally signed (HMAC-SHA256) and sent with payment messages . Datatrans will use this key to sign the webhook payload and will add a Datatrans-Signature HTTP request header:

    Datatrans-Signature: t=1559303131511,s0=33819a1220fd8e38fc5bad3f57ef31095fac0deb38c001ba347e694f48ffe2fc
    

    On your server, calculate the signature of the webhook payload and finally compare it to s0. timestamp is the t value from the Datatrans-Signature header, payload represents all UTF-8 bytes from the body of the payload and finally key is the HMAC key you configured within the dashboard. If the value of sign is equal to s0 from the Datatrans-Signature header, the webhook payload is valid and was not tampered.

    // hex bytes of the key
    // if Java version < 17, a 3rd-party library like apache-commons can be used
    byte[] key = Hex.decodeHex(key);
    // if Java version >= 17, the built in HexFormat class can be used
    byte[] key = HexFormat.of().parseHex(key);
    // Create sign with timestamp and payload
    String algorithm = "HmacSha256";
    SecretKeySpec macKey = new SecretKeySpec(key, algorithm);
    Mac mac = Mac.getInstance(algorithm);
    mac.init(macKey);
    mac.update(String.valueOf(timestamp).getBytes());
    byte[] result = mac.doFinal(payload.getBytes());
    String sign = Hex.encodeHexString(result);
    

    Python

    # hex bytes of the key
    key_hex_bytes = bytes.fromhex(key)
    # Create sign with timestamp and payload
    sign = hmac.new(key_hex_bytes, bytes(str(timestamp) + payload, 'utf-8'), hashlib.sha256)
    
    Details

    2.0.46 - 29.08.2024

  • added new endpoint Get alias card art
  • 2.0.45 - 02.07.2024

  • improved documentation of 3D params
  • update underlying JSON library
  • minor fixes
  • 2.0.44 - 16.05.2024

  • added card.type feature to the INIT API (same as for the AUTHORIZE API)
  • added support for plain GooglePay and ApplePay device tokens (INIT and AUTHORIZE API)
  • fixed the provided openapi specification (there were issues when creating a client from it)
  • added interim support for GiroPay 2.0
  • 2.0.43 - 18.04.2024

  • added DEVICE_TOKEN as possible card type in the Authorize API
  • added the card type behavior to the Init API
  • 2.0.42 - 13.02.2024

  • added paycard to MFA/MFX
  • added better support for Amex Network Tokenization
  • multiple fixes related to PLU
  • fixed idempotency behavior in case of a response with status 500
  • fixed 3D enrollment for CBL cards in Init API
  • 2.0.41 - 17.01.2024

  • added cardholder to alias patch request
  • added fingerprint implementation for TWI
  • added option.storeCustomerData to the authorize API
  • added MFG to the screen API
  • 2.0.40 - 14.11.2023

  • added avs object to the status api
  • added ELV object to the status api
  • Initialize a transaction

    Request Body schema: application/json
    required
    currency
    required
    string = 3 characters

    3 letter ISO-4217 character code. For example CHF or USD

    refno
    required
    string [ 1 .. 40 ] characters

    The merchant's reference number. It should be unique for each transaction.

    refno2
    string [ 0 .. 40 ] characters

    Optional customer's reference number. Supported by some payment methods or acquirers.

    autoSettle
    boolean

    Whether to automatically settle the transaction after an authorization or not. If not present with the init request, the settings defined in the dashboard ('Authorisation / Settlement' or 'Direct Debit') will be used. Those settings will only be used for web transactions and not for server to server API calls.

    object ( CustomerRequest )

    Whenever the payment method supports customer details, the customer object can be used. If a particular field is required varies from payment method to payment method. For example the field birthDate is not mandatory for each payment method supporting the customer object.

    object ( BillingAddress )
    object ( ShippingAddress )

    The address where the article(s) should be sent to.

    object ( OrderRequest )

    If supported by the payment method, an order with one or more articles can be defined.

    object ( CardInit )
    object ( BoncardRequest )

    Boncard specific request parameters

    object ( PayPalInitRequest )

    PayPal specific parameters

    object ( PfcInitRequest )
    object ( RekaRequest )

    Reka card specific parameters

    object ( KlarnaInitRequest )
    object ( TwintInitRequest )
    object ( ByjunoAuthorizeRequest )
    object ( AlipayRequest )

    Alipay+ specific parameters

    object ( ESY )
    object ( MfaAuthorizeRequest )

    MFA specific parameters. At least an empty MFA object is required if MFA should be processed. Even if no additional parameters are sent.

    object ( SwissPassRequest )

    SwissPass specific parameters

    object ( SBBHalbtaxPlusInitRequest )
    object ( AirlineDataRequest )

    The airline data including ticket details.

    accertify
    object ( Accertify )

    Accertify decision (Accepted, Review, Declined

    object ( ThreeRIData )
    DVI
    object ( DeltaVistaData )

    DVI has no specific request parameters but we need an empty object here to handle it as a DVI request.

    amount
    integer < int64 >

    The amount of the transaction in the currency’s smallest unit. For example use 1000 for CHF 10.00. Can be omitted for use cases where only a registration should take place (if the payment method supports registrations)

    language
    string = 2 characters
    Enum : "en" "de" "fr" "it" "es" "el" "fi" "hu" "ko" "nl" "no" "da" "pl" "pt" "ru" "ja" "sk" "sl" "sv" "tr" "zh"

    This parameter specifies the language (language code) in which the payment page should be presented to the cardholder. The ISO-639-1 two letter language codes listed above are supported

    paymentMethods
    Array of strings = 3 characters [ items = 3 characters ]
    Items Enum : "ACC" "ALP" "APL" "AMX" "AZP" "BAC" "BON" "CBL" "CFY" "CSY" "CUP" "DEA" "DIN" "DII" "DIB" "DIS" "DNK" "ECA" "ELV" "EPS" "ESY" "GFT" "GPA" "HPC" "INT" "JCB" "JEL" "KLN" "MAU" "MDP" "MFA" "MFX" "MPA" "MFG" "MPG" "MPX" "MYO" "PAP" "PAY" "PEF" "PFC" "PSC" "REK" "SAM" "SWB" "SCX" "SWP" "TWI" "UAP" "VIS" "WEC" "SWH" "VPS" "MBP" "CUV" "GEP" "PLU" "DVI"

    An array of payment method shortnames. For example ["VIS", "PFC"] . If omitted, all available payment methods will be displayed on the payment page. If the Mobile SDKs are used ( returnMobileToken ), this array is mandatory.

    object ( theme )

    The theme (including configuration options) to be used when rendering the payment page.

    object ( RedirectRequest )

    The redirect object is used to customize the browser behaviour when using the payment page (Redirect or Lightbox Mode) to do a transaction.

    object ( WebhookRequest )

    Used to define the webhook configuration. If not set, the webhook configuration from the merchant configuration will be used.

    object ( OptionRequest )
    object ( MFXRequest )

    MFX specific parameters

    object ( MPXRequest )

    MPX specific parameters

    object ( AmazonPayRequest )

    Amazon Pay specific request parameters

    object ( EpsRequest )

    EPS specific request parameters

    object ( SwishRequest )

    Swish specific parameters

    object ( VippsRequest )

    Vipps specific parameters

    object ( MobilePayRequest )

    MobilePay specific parameters

    object ( WeChatRequest )

    WeChat specific parameters

    object ( ElvInitRequest )

    ELV specific payment parameters.

    object ( SwissBillingRequest )

    Swissbilling specific parameters.

    object ( MDPInitRequest )
    object ( PaysafecardRequest )

    Paysafecard specific request parameters

    object ( GPARequest )

    Giropay specific request parameters

    object ( InitMcpRequest )
    extensions
    object ( Extension )

    An object for additional data for customized processes.

    Initialize a Secure Fields transaction

    Proceed with the steps below to process Secure Fields payment transactions :

  • Call the /v1/transactions/secureFields endpoint to retrieve a transactionId . The success result of this API call is a HTTP 201 status code with a transactionId in the response body.
  • Initialize the SecureFields JavaScript library with the returned transactionId :
  • var secureFields = new SecureFields();
    secureFields.init(
        transactionId, {
            cardNumber: "cardNumberPlaceholder",
            cvv: "cvvPlaceholder",
        });
    
  • Handle the success event of the secureFields.submit() call. Example success event data:
  • "event":"success", "data": { "transactionId":"{transactionId}", "cardInfo":{"brand":"MASTERCARD","type":"credit","usage":"consumer","country":"CH","issuer":"DATATRANS"}, "redirect":"https://pay.sandbox.datatrans.com/upp/v1/3D2/{transactionId}"
  • If 3D authentication is required, the redirect property will indicate the URL that the browser needs to be redirected to.
  • Use the Authorize an authenticated transaction endpoint to authorize the Secure Fields transaction. This is required to finalize the authorization process with Secure Fields.
  • Use the transactionId to check the status and to settle, cancel or credit (refund) an transaction.
  • Authorizations:
    Basic
    Request Body schema: application/json
    required
    amount
    integer < int64 >

    The amount of the transaction in the currency’s smallest unit. For example use 1000 for CHF 10.00.

    currency
    required
    string = 3 characters

    3 letter ISO-4217 character code. For example CHF or USD

    returnUrl
    required
    string

    The URL where the browser will be redirected after the 3D authentication process.

    object ( InitMcpRequest )
    object ( SecureFieldsThreeDSecure )

    Refer to the official EMVCo. specifications for parameter requirements.

    Responses

    Request samples

    Content type
    application/json

    secureFieldsInitRequest1

    Response samples

    Content type
    application/json

    secureFieldsInitResponse

    Authorize a transaction

    Request Body schema: application/json
    required
    currency
    required
    string = 3 characters

    3 letter ISO-4217 character code. For example CHF or USD

    refno
    required
    string [ 1 .. 40 ] characters

    The merchant's reference number. It should be unique for each transaction.

    refno2
    string [ 0 .. 40 ] characters

    Optional customer's reference number. Supported by some payment methods or acquirers.

    autoSettle
    boolean

    Whether to automatically settle the transaction after an authorization or not. If not present with the init request, the settings defined in the dashboard ('Authorisation / Settlement' or 'Direct Debit') will be used. Those settings will only be used for web transactions and not for server to server API calls.

    object ( CustomerRequest )

    Whenever the payment method supports customer details, the customer object can be used. If a particular field is required varies from payment method to payment method. For example the field birthDate is not mandatory for each payment method supporting the customer object.

    object ( BillingAddress )
    object ( ShippingAddress )

    The address where the article(s) should be sent to.

    object ( OrderRequest )

    If supported by the payment method, an order with one or more articles can be defined.

    object ( Card )
    object ( BoncardRequest )

    Boncard specific request parameters

    object ( PayPalAuthorizeRequest )
    object ( PfcAuthorizeRequest )
    object ( RekaRequest )

    Reka card specific parameters

    object ( KlarnaAuthorizeRequest )
    object ( TwintAuthorizeRequest )
    object ( ByjunoAuthorizeRequest )
    object ( AlipayRequest )

    Alipay+ specific parameters

    object ( ESY )
    object ( MfaAuthorizeRequest )

    MFA specific parameters. At least an empty MFA object is required if MFA should be processed. Even if no additional parameters are sent.

    object ( SwissPassRequest )

    SwissPass specific parameters

    object ( SBBHalbtaxPlusAuthorizeRequest )
    object ( AirlineDataRequest )

    The airline data including ticket details.

    accertify
    object ( Accertify )

    Accertify decision (Accepted, Review, Declined

    object ( ThreeRIData )
    DVI
    object ( DeltaVistaData )

    DVI has no specific request parameters but we need an empty object here to handle it as a DVI request.

    amount
    required
    integer < int64 >

    The amount of the transaction in the currency’s smallest unit. For example use 1000 for CHF 10.00.

    object ( AccardaRequest )

    Accarda specific request parameters.

    object ( GooglePayRequest )

    The data received from Google when integrating the 'Buy with Google Pay' button. See https://github.com/datatrans/google-pay-web-sample for more information.

    object ( ApplePayRequest )

    The data received from Apple when integrating the 'Buy with Apple Pay' button. See https://developer.apple.com/documentation/apple_pay_on_the_web for more information.

    object ( MpaAuthorizeRequest )

    MPA specific parameters. At least an empty MPA object is required if MPA should be processed. Even if no additional parameters are sent.

    object ( MpgAuthorizeRequest )

    MPG specific parameters.

    object ( MfgAuthorizeRequest )

    MFG specific parameters.

    object ( MarketPlaceAuthorize )
    object ( ElvRequest )

    ELV specific request parameters.

    object ( SwissBillingAuthorizeRequest )
    object ( AuthorizeOptionRequest )
    object ( AuthorizeMcpRequest )
    extensions
    object ( Extension )

    An object for additional data for customized processes.

    object ( ThreeRI )

    3RI specific parameters

    Authorize an authenticated transaction

    Basic
    path Parameters
    transactionId
    required
    integer < int64 >

    The transactionId received after authentication was done.

    Request Body schema: application/json
    required
    amount
    integer < int64 >

    The amount of the transaction in the currency’s smallest unit. For example use 1000 for CHF 10.00.

    refno
    required
    string [ 0 .. 40 ] characters

    The merchant's reference number. It should be unique for each transaction.

    refno2
    string [ 0 .. 40 ] characters

    Optional customer's reference number. Supported by some payment methods or acquirers.

    autoSettle
    boolean

    Whether to automatically settle the transaction after an authorization or not. If not present with the init request, the settings defined in the dashboard ('Authorisation / Settlement' or 'Direct Debit') will be used. Those settings will only be used for web transactions and not for server to server API calls.

    CDM
    object ( CDMRequest )

    CyberSource specific parameters. Use the same properties as you would for direct CyberSource requests.

    object ( AirlineDataRequest )

    The airline data including ticket details.

    object ( AuthorizeSplitThreeDSecure )

    3D secure parameters

    Validate an existing alias

    Request Body schema: application/json
    required
    refno
    required
    string [ 1 .. 40 ] characters

    The merchant's reference number. It should be unique for each transaction.

    refno2
    string [ 0 .. 40 ] characters

    Optional customer's reference number. Supported by some payment methods or acquirers.

    currency
    required
    string = 3 characters

    3 letter ISO-4217 character code. For example CHF or USD

    object ( CardValidateRequest )

    The card object to be submitted when validating with an existing credit card alias.

    object ( PfcValidateRequest )

    PostFinance Card specific parameters

    object ( KlarnaValidateRequest )

    Klarna specific parameters

    object ( PayPalValidateRequest )

    PayPal specific parameters for the validate request.

    object ( GooglePayValidateRequest )

    Google Pay specific parameters for the validate request.

    object ( ApplePayValidateRequest )

    Apple Pay specific parameters for the validate request.

    object ( EasyPayValidateRequest )

    Swisscom Pay specific parameters

    Screen the customer details

    Request Body schema: application/json
    required
    amount
    required
    integer < int64 >

    The amount of the transaction in the currency’s smallest unit. For example use 1000 for CHF 10.00.

    currency
    required
    string = 3 characters

    3 letter ISO-4217 character code. For example CHF or USD

    refno
    required
    string [ 1 .. 40 ] characters

    The merchant's reference number. It should be unique for each transaction.

    object ( CustomerRequest )

    Whenever the payment method supports customer details, the customer object can be used. If a particular field is required varies from payment method to payment method. For example the field birthDate is not mandatory for each payment method supporting the customer object.

    object ( BillingAddress )
    object ( ShippingAddress )

    The address where the article(s) should be sent to.

    object ( ByjunoScreenRequest )
    object ( MfaAuthorizeScreenRequest )

    MFA has no specific request parameters but we need an empty object here to handle it as a MFA request.

    DVI
    object ( DeltaVistaScreenRequest )

    DVI has no specific request parameters but we need an empty object here to handle it as a DVI request.

    Request samples

  • "INT" :
  • }

    Response samples

    Content type
    application/json

    screenResponse

    }
    }

    Settle a transaction

    Authorizations:
    Basic
    path Parameters
    transactionId
    required
    integer < int64 >

    The transactionId received after an authorization.

    Request Body schema: application/json
    required
    amount
    required
    integer < int64 >

    The amount of the transaction in the currency’s smallest unit. For example use 1000 for CHF 10.00.

    currency
    required
    string = 3 characters

    3 letter ISO-4217 character code. For example CHF or USD

    refno
    required
    string [ 1 .. 40 ] characters

    The merchant's reference number. Most payment methods require you to have a unique reference for a transaction. In case you must change the reference number in settlement, ensure first it is supported by the dedicated payment method.

    refno2
    string [ 0 .. 40 ] characters

    Optional customer's reference number. Supported by some payment methods or acquirers.

    object ( AirlineDataRequest )

    The airline data including ticket details.

    object ( MarketPlaceSettle )
    object ( SettleMcpRequest )
    object ( MultiplePartialCapture )

    Can be used to do the settlement in partial steps.

    extensions
    object ( Extension )

    An object for additional data for customized processes.

    Responses

    Request samples

    Content type
    application/json

    settleRequest1

    Response samples

    Content type
    application/json

    settleErrorResponse

    }

    Refund a transaction

    path Parameters
    transactionId
    required
    integer < int64 >

    The transactionId received after an authorization.

    Request Body schema: application/json
    required
    amount
    integer < int64 >

    The amount of the transaction in the currency’s smallest unit. For example use 1000 for CHF 10.00.

    currency
    required
    string = 3 characters

    3 letter ISO-4217 character code. For example CHF or USD

    refno
    required
    string [ 1 .. 40 ] characters

    The merchant's reference number. It should be unique for each transaction.

    refno2
    string [ 0 .. 40 ] characters

    Optional customer's reference number. Supported by some payment methods or acquirers.

    object ( AirlineDataRequest )

    The airline data including ticket details.

    object ( MarketPlaceCredit )
    extensions
    object ( Extension )

    An object for additional data for customized processes.

    object ( CreditMcpRequest )
    object ( SBBHalbtaxPlusCreditRequest )

    SBB Halbtax Plus specific parameters for credit

    Patch alias

    path Parameters
    alias
    required
    string
    Request Body schema: application/json
    required
    removePlain
    boolean

    Remove the pan from storage.

    expiryMonth
    string = 2 characters \d{2}

    The expiry month of the card.

    expiryYear
    string = 2 characters \d{2}

    The expiry year of card.

    object ( CardholderData )
    createNetworkToken
    boolean

    Create a Network Token.

    Convert alias

    Authorizations:
    Request Body schema: application/json
    required
    type
    required
    string
    Default: "CARD"

    Legacy alias type.

    expiryMonth
    string = 2 characters \d{2}

    The expiry month of the credit card behind alias.

    expiryYear
    string = 2 characters \d{2}

    The expiry year of the credit card behind the alias

    legacyAlias
    required
    string

    The legacy alias

    Responses

    Response samples

    Content type
    application/json

    bulkTokenizationResponse

  • "responses" :
  • } ,
  • } ,
  • ]
    }

    Vault API: Bulk detokenization

    Request Body schema: application/json
    required
    required
    Array of objects ( DetokenizeRequest )

    List of detokenization requests.

    Report a sale

    Request Body schema: application/json
    required
    date
    string < date-time >

    The date when the transaction happened.

    transactionId
    string

    The transactionId received after an authorization.

    currency
    string

    3 letter ISO-4217 character code. For example CHF or USD

    amount
    integer < int64 >

    The amount of the transaction in the currency’s smallest unit. For example use 1000 for CHF 10.00.

    type
    string
    Enum : "payment" "credit" "card_check"

    The type of the transaction

    refno
    string

    The merchant's reference number. It should be unique for each transaction.

    Bulk reporting of sales

    Request Body schema: application/json
    required
    Array of objects ( SaleReportRequest )

    A list of sale objects.