NAV
  • General information
  • Payments
  • Refunds
  • Payment tokens
  • Stickers
  • Notifications
  • Payment methods
  • Codes and dictionaries
  • General information

    If you were looking for an old version of the API, it is available at HTTP-protocol.

    Interaction is carried out via HTTPS using GET/POST/PUT methods. The API uses the REST architecture:

    Request headers:

    curl --request POST 'https://psp.paymaster.tn/api/v2/invoices' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Idempotency-Key: 86cf125c' \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json'
    

    In case of an error, the response contains code and the reason (code, message), and the answer may also contain sections with additional details.

    An example of an error response:

    {
      "code": "validation_error",
      "message": "One or many validation errors. See 'errors' list.",
      "errors": [
        "Specify required MerchantId value."
      ]
    }
    

    In requests, mandatory parameters are highlighted in bold.

    Request authentication

    Requests must be transmitted via a secure protocol (https). Base service address: https://psp.paymaster.tn

    The following methods of request authentication are supported:

    Data types

    The following data types are used in the requests:

    A three-letter code according to ISO 4217 is used to encode currencies.

    Working with lists

    Loading lists (payments, refunds, etc.) is made page by page: if there is a pointer to the next page (cursor) in the response, you must request the next part of data. To do this, repeat the request and add a cursor value to the list of parameters.

    Payments

    POST /api/v2/invoices

    Request example:

    curl --request POST 'https://psp.paymaster.tn/api/v2/invoices' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Idempotency-Key: 86cf125c' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "merchantId": "cf128151-127b-44ed-bde5-26c531cad20d",
      "invoice": {
        "description": "test payment",
        "params": {
          "BT_USR": "34"
        }
      },
      "amount": {
        "value": 10.50,
        "currency": "TND"
      },
      "paymentMethod": "BankCard"   
    }'
    

    Request:

    ParameterTypeDescription
    merchantIdstringMerchant identification
    dualModeboolDMS payments flag (false by default)
    testModeboolTest payments flag (false by default)
    tokenizationTokenization details
    typestringToken type (cof / recurring)
    purposestringSubscription purpose
    callbackUrlstringUrl to notify for token changes
    invoiceInvoice details
    descriptionstringPayments description
    orderNostringOrder number in the merchant system
    expiresdateInvoice expiration date
    paramsAdditional parameters
    amountAmount
    valuedecimalAmount to pay
    currencystringCurrency code
    paymentMethodstringPayment method
    protocolProtocol parameters
    returnUrlstringUser is redirected to this web page after the payment
    callbackUrlstringUrl for payment notification
    customerCustomer data
    emailstringe-mail
    phonestringphone (E.164 formatted w/o + sign)
    ipstringIP address
    accountstringCustomer account

    Response example:

    {
      "paymentId": "12769",
      "url": "https://psp.paymaster.tn/cpay/a62beecb68c84778b2424294f635b370"  
    }
    

    Response:

    ParameterTypeDescription
    paymentIdstringPayment identification
    urlstringPayment page url, where the user should be redirected for making a payment

    Creating a payment

    POST /api/v2/payments

    Request example:

    curl --request POST 'https://psp.paymaster.tn/api/v2/payments' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Idempotency-Key: 86cf125c' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "merchantId": "cf128151-127b-44ed-bde5-26c531cad20d",
      "invoice": {
        "description": "test payment",
        "params": {
          "BT_USR": "34"
        }
      },
      "amount": {
        "value": 10.50,
        "currency": "TND"
      },
      "paymentData": {
        "paymentMethod": "BankCard",        
        "card": {
          "pan": "4**********0540",
          "expiry": "10/22",
          "cvc": "***"
        }
      }
    }'
    

    Request:

    ParameterTypeDescription
    merchantIdstringMerchant identification
    dualModeboolDMS payments flag (false by default)
    testModeboolTest payments flag (false by default)
    tokenizationTokenization details
    typestringToken type (cof / recurring)
    purposestringSubscription purpose
    callbackUrlstringUrl to notify for token changes
    invoiceInvoice details
    descriptionstringPayments description
    orderNostringOrder number in the merchant system
    expiresdateInvoice expiration date
    paramsAdditional parameters
    amountAmount
    valuedecimalAmount to pay
    currencystringCurrency code
    paymentDataPayment data
    paymentMethodstringPayment method
    cardCard details
    panstringCard number
    expirystringExpiry date
    cvcstringCVV/CVC2
    dsrp
    typestringType (ApplePay / GooglePay)
    cryptogramstringCryptogram
    ecistringECI
    authorizationCodestringPayment authorization code
    accountstringLogin/account
    phonestringPhone number
    tokenPayment token
    idstringToken identification
    stickerIdstringSticker id (cashlink payment)
    protocolProtocol parameters
    returnUrlstringUser is redirected to this web page after the payment
    callbackUrlstringUrl for payment notification
    threeDSCompleteUrlstringthreeDSCompleteUrl using the scenario 3DSecure Challenge Flow
    customerCustomer data
    emailstringe-mail
    phonestringphone
    ipstringIP address
    accountstringCustomer account
    deviceUser device details
    languagestringLanguage
    acceptHeaderstringAccept header definition
    userAgentstringUserAgent header definition
    colorDepthstringColor depth on bits
    screenHeightstringScreen height in pixels
    screenWidthstringScreen width in pixels
    utcOffsetMinutesstringUTC offset in minutes

    Parameters for making a payment depend on the payment method chosen.

    Response example:

    {
      "id": "12769",
      "created":"2021-09-01T08:20:00Z",
      "testMode": false,
      "status": "Confirmation",
      "resultCode": "Success",
      "merchantId": "96e809e9-8bce-40fd-86cb-d34db39b4668",
      "amount": {
        "value": 10.5000,
        "currency": "TND"
      },
      "invoice": {
        "description": "test payment",
        "params": {
          "BT_USR": "34"
        }
      },
      "paymentData": {
        "paymentMethod": "BankCard"
      },
      "confirmation": {
        "type": "ThreeDSv1",
        "acsUrl": "https://psp.paymaster.tn/acs/pareq",
        "PAReq": "eJxVUtuO0...v4BOrji7g=="
      }
    }
    

    Response

    ParameterTypeDescription
    idstringPayment identification
    createddatePayment date
    testModeboolTest payments flag
    statusstringPayment status
    resultCodestringResult code
    messagestringAuthorization result description
    merchantIdstringMerchant identification
    invoiceInvoice details
    descriptionstringPayments description
    orderNostringOrder number in the merchant system
    expiresdateInvoice expiration date
    paramsAdditional parameters
    amountAmount
    valuedecimalAmount to pay
    currencystringCurrency code
    customerCustomer data
    ipstringIP address
    paymentDataPayment data
    paymentMethodstringPayment method
    paymentInstrumentTitlestringPayment instrument title
    agreementstringAgreement reference code
    cardInfoCard BIN details
    brandstringCard brand name
    issuerstringIssuer bank name
    countrystringCountry ISO-code
    typestringCard type (credit, debit)
    categorystringCard category (gold, classic)
    confirmationPayment confirmation method
    typestringConfirmation type
    ***Confirmation parameters
    paymentTokenPayment token data
    idstringToken ID
    expiresdateToken expiration date
    titlestringDescription to be displayed

    Additional confirmation (or several confirmations) may be required during the payment process.

    Payment confirmation in the external system

    ParameterTypeDescription
    typestringConfirmation type External
    paymentUrlstringPayment confirmation address to redirect the user
    universalLinkboolPayment link attribute
    instructionstringPayment instruction

    Payment confirmation with a one-time code

    ParameterTypeDescription
    typestringConfirmation type SmsOtp
    maskedPhonestringTelephone number that receives the confirmation code

    3DS Method scenario

    ParameterTypeDescription
    typestringConfirmation type ThreeDSMethod
    methodUrlstringACS page address to pass the scenario
    transactionIdstringTransaction authentication ID

    3DS Challenge Flow scenario

    ParameterTypeDescription
    typestringConfirmation type ThreeDSChallenge
    acsUrlstringACS page address to pass the scenario
    creqstringChallenge request

    3DS v1 scenario

    ParameterTypeDescription
    typestringConfirmation type ThreeDSv1
    acsUrlstringACS page address to pass the scenario
    PAReqstringPayer Authentication request

    Payment completion

    PUT /api/v2/payments/{id}/complete

    Request example:

    curl --request PUT 'https://psp.paymaster.tn/api/v2/payments/12769/complete' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "PARes": "eJx7v3u...IxsAwA="  
    }'
    

    Request:

    ParameterTypeDescription
    idstringPayment identification
    codestringConfirmation code
    threeDSCompIndstring3DS Method complete indicator
    cresstringChallenge response
    PAResstringPayer Authentication response

    In response service returns the payment details.

    Payment capture

    PUT /api/v2/payments/{id}/confirm

    Request example:

    curl --request PUT 'https://psp.paymaster.tn/api/v2/payments/12769/confirm' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "amount": {
        "value": 10.50,
        "currency": "TND"
      }
    }'
    

    Request:

    ParameterTypeDescription
    idstringPayment identification
    amountAmount
    valuedecimalAmount to pay
    currencystringCurrency code

    If the request is successful, the service returns an empty response with HTTP status 200.

    Payment cancellation

    PUT /api/v2/payments/{id}/cancel

    Request example:

    curl --request PUT 'https://psp.paymaster.tn/api/v2/payments/12769/cancel' \
    --header 'Authorization: Bearer QdvdwiXKFm='
    

    If the request is successful, the service returns an empty response with HTTP status 200.

    Getting payment details

    GET /api/v2/payments/{id}

    Request example:

    curl --request GET 'https://psp.paymaster.tn/api/v2/payments/12769' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    

    Request:

    ParameterTypeDescription
    idstringPayment identification

    The service returns payment details in the response.

    List of payments

    GET /api/v2/payments?merchantId={merchantId}&start={start}&end={end}

    Request example:

    curl --request GET 'https://psp.paymaster.tn/api/v2/payments?merchantId=cf128151-127b-44ed-bde5-26c531cad20d&start=2021-08-01T06:00:00Z&end=2021-08-01T06:30:00Z'  \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    

    Request:

    ParameterTypeDescription
    merchantIdstringMerchant identification
    startdatePeriod starts
    enddatePeriod ends

    Response example:

    {
      "items": [
        {
          "id": "9755",
          "status": "Settled",
          "created":"2021-08-01T06:15:00Z",
          "merchantId": "96e809e9-8bce-40fd-86cb-d34db39b4668",
          "amount": {
            "value": 10.0000,
            "currency": "TND"
          },
          "invoice": {
            "description": "test"
          },
          "paymentData": {
            "paymentMethod": "BankCard",
            "paymentInstrumentTitle": "410000XXXXXXX0000"
          }
        }
      ]
    }
    

    Response:

    ParameterTypeDescription
    idstringPayment identification
    createddatePayment date
    statusstringPayment status
    merchantIdstringMerchant identification
    invoiceInvoice details
    descriptionstringPayment description
    orderNostringOrder number in the merchant system
    expiresdateInvoice expiration date
    amountAmount
    valuedecimalAmount to pay
    currencystringCurrency code
    paymentDataPayment data
    paymentMethodstringPayment method
    paymentInstrumentTitlestringPayment instrument title

    Refunds

    Creating a refund

    POST /api/v2/refunds

    Request example:

    curl --request POST 'https://psp.paymaster.tn/api/v2/refunds' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Idempotency-Key: 86cf125c' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "paymentId": "12870",
      "amount": {
        "value": 5.5,
        "currency": "TND"
      }
    }'
    

    Request:

    ParameterTypeDescription
    paymentIdstringPayment identification
    amountRefund amount
    valuedecimalRefund amount value
    currencystringCurrency code

    Response example:

    {
      "id": "1276",
      "created": "2021-10-01T06:23:02.273Z",
      "status": "Pending",
      "paymentId": "12870",
      "amount": {
        "value": 5.5,
        "currency": "TND"
      }
    }
    

    Response

    ParameterTypeDescription
    idstringRefund identification
    createddateRefund date
    paymentIdstringPayment identification
    amountRefund amount
    valuedecimalRefund amount value
    currencystringCurrency code
    statusstringRefund status
    resultCodestringResult code

    Refund details

    GET /api/v2/refunds/{id}

    Request example:

    curl --request GET 'https://psp.paymaster.tn/api/v2/refunds/1276' \
    --header 'Authorization: Bearer QdvdwiXKFm='
    

    Request:

    ParameterTypeDescription
    idstringRefund identification

    The service returns the refund details in the response.

    List of refunds

    GET /api/v2/refunds?merchantId={merchantId}&start={start}&end={end}

    Request example:

    curl --request GET 'https://psp.paymaster.tn/api/v2/refunds?merchantId=cf128151-127b-44ed-bde5-26c531cad20d&start=2021-08-01T06:00:00Z&end=2021-08-01T06:30:00Z'  \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    

    Request:

    ParameterTypeDescription
    merchantIdstringMerchant identification
    startdatePeriod starts
    enddatePeriod ends

    Response example:

    {
      "items": [
        {
          "id": "1276",
          "created": "2021-10-01T06:23:02.273Z",
          "status": "Pending",
          "paymentId": "12870",
          "amount": {
            "value": 5.5,
            "currency": "TND"
          }
        }
      ]
    }
    

    Response:

    ParameterTypeDescription
    idstringRefund identification
    createddateRefund date
    paymentIdstringPayment identification
    amountRefund amount
    valuedecimalRefund amount value
    currencystringCurrency code
    statusstringRefund status

    Payment tokens

    POST /api/v2/tokenization

    Request example:

    curl --request POST 'https://psp.paymaster.tn/api/v2/tokenization' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Idempotency-Key: 86cf125c' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "merchantId": "cf128151-127b-44ed-bde5-26c531cad20d",
      "type": "recurring",
      "purpose": "Test subscription"
      "paymentMethod": "bankcard",
      "customer": {
        "account": "47733000003"
      }   
    }'
    

    Request:

    ParameterTypeDescription
    merchantIdstringMerchant ID
    testModeboolTest mode flag (false by default)
    typestringToken type (recurring)
    purposestringSubscription description
    paymentMethodstringPayment method
    callbackUrlstringToken status notification url
    returnUrlstringUrl for customer return page
    customerCustomer data
    accountstringCustomer account in merchant's system
    emailstringCustomer e-mail

    Response example:

    {
      "tokenId": "8cd9991b47ab42018f0bb56ca0fbdba0",
      "url": "https://psp.paymaster.tn/cpay/tokenization/f3da06b158924a6c8da280a8b49c2996"  
    }
    

    Response:

    ParameterTypeDescription
    tokenIdstringToken ID
    urlstringTokenization url for customer to complete scenario

    Create token request

    POST /api/v2/paymenttokens

    Request example:

    curl --request POST 'https://psp.paymaster.tn/api/v2/paymenttokens' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Idempotency-Key: 86cf125c' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "merchantId": "cf128151-127b-44ed-bde5-26c531cad20d",
      "type": "recurring",
      "purpose": "Test subscription"
      "paymentData": {
        "paymentMethod": "sbp"
      },
      "customer": {
        "account": "47733000003"
      }   
    }'
    

    Request:

    ParameterTypeDescription
    merchantIdstringMerchant ID
    testModeboolTest mode flag (false by default)
    typestringToken type (recurring)
    purposestringSubscription description
    paymentDataPayment data
    paymentMethodstringPayment method
    protocolProtocol parameters
    returnUrlstringUrl for customer return page
    callbackUrlstringToken status notification url
    threeDSCompleteUrlstringthreeDSCompleteUrl for 3DSecure Challenge Flow
    customerCustomer data
    accountstringCustomer account in merchant's system
    emailstringCustomer e-mail

    Response example:

    {
        "id": "8cd9991b47ab42018f0bb56ca0fbdba0",
        "status": "Created",
        "confirmation": {
            "type": "External",
            "universalLink": true,
            "paymentUrl": "https://psp.paymaster.tn/cpay/mock/sbp/subscription/8cd9991b47ab42018f0bb56ca0fbdba0"
        }
    }
    

    Response

    ParameterTypeDescription
    idstringToken identifier
    statusstringToken status (Active / Revoked)
    titlestringDisplay name
    expiresdateToken expire date
    cardInfoCard BIN details
    brandstringCard brand name
    issuerstringIssuer bank name
    countrystringCountry ISO-code
    typestringCard type (credit, debit)
    categorystringCard category (gold, classic)
    confirmationAdditional confirmation
    typestringConfirmation type
    ***Confirmation parameters

    Additional confirmation (or several confirmations) may be required during the process.

    Confirmation in the external system

    ParameterTypeDescription
    typestringConfirmation type External
    paymentUrlstringConfirmation address to redirect the user
    universalLinkboolPayment link attribute
    instructionstringPayment instruction

    Token details

    GET /api/v2/paymenttokens/{id}

    Request example:

    curl --request GET 'https://psp.paymaster.tn/api/v2/paymenttokens/8cd9991b47ab42018f0bb56ca0fbdba0' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    

    Request:

    ParameterTypeDescription
    idstringToken identifier

    In response service returns the token details.

    Token revocation

    PUT /api/v2/paymenttokens/{id}/revoke

    Request example:

    curl --request PUT 'https://psp.paymaster.tn/api/v2/paymenttokens/8cd9991b47ab42018f0bb56ca0fbdba0/revoke' \
    --header 'Authorization: Bearer QdvdwiXKFm='
    

    Request:

    ParameterTypeDescription
    idstringToken identifier

    HTTP 200 status shows the successful completion of the request.

    Stickers

    Sticker registration

    POST /api/v2/stickers

    Request example:

    curl --request POST 'https://psp.paymaster.tn/api/v2/stickers' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Idempotency-Key: 86cf125c' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "merchantId": "cf128151-127b-44ed-bde5-26c531cad20d",
      "stickerType": "Sbp",
      "productCode": "product-1234",
      "paymentPurpose": "Payment for the product",
      "description": "Product #1234",
      "amount": {
        "value": 39.90,
        "currency": "RUB"
      }
    }'
    

    Request:

    ParameterTypeDescription
    merchantIdstringMerchant identification
    stickerTypestringSticker type (example, Sbp)
    cashlinkboolCashlink mode
    descriptionstringSticker description
    productCodestringProduct code
    paymentPurposestringPayment purpose
    amountAmount
    valuedecimalAmount to pay
    currencystringCurrency code
    callbackUrlstringUrl for payment notification

    Response example:

    {
      "id": "24cc565dea08",
      "stickerType": "Sbp",
      "productCode": "product-1234",
      "paymentPurpose": "Payment for the product",
      "description": "Product #1234",
      "amount": {
        "value": 39.90,
        "currency": "RUB"
      },
      "status": "Active",
      "payload": "https://qr.nspk.ru/AS****G0?type=01&sum=3990&cur=RUB&crc=ZZZZ"
    }
    

    Response

    ParameterTypeDescription
    idstringSticker identification
    stickerTypestringSticker type
    cashlinkboolCashlink mode
    productCodestringProduct code
    paymentPurposestringPayment purpose
    descriptionstringSticker description
    amountAmount
    valuedecimalAmount to pay
    currencystringCurrency code
    statusstringSticker status
    payloadstringContent (payment link)

    Sticker activation / deactivation

    PUT /api/v2/stickers/{id}

    Request example:

    curl --request PUT 'https://psp.paymaster.tn/api/v2/stickers/24cc565dea08' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "active": true
    }'
    

    Request:

    ParameterTypeDescription
    idstringSticker identification
    activeboolSticker status

    HTTP 200 status shows the successful completion of the request.

    Getting sticker details

    GET /api/v2/stickers/{id}

    Request example:

    curl --request GET 'https://psp.paymaster.tn/api/v2/stickers/24cc565dea08' \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    

    Request:

    ParameterTypeDescription
    idstringSticker identification

    The service returns sticker details in the response.

    List of stickers

    GET /api/v2/stickers?merchantId={merchantId}

    Request example:

    curl --request GET 'https://psp.paymaster.tn/api/v2/stickers?merchantId=cf128151-127b-44ed-bde5-26c531cad20d'  \
    --header 'Authorization: Bearer QdvdwiXKFm=' \
    

    Request:

    ParameterTypeDescription
    merchantIdstringMerchant identification

    Response example:

    {
      "items": [
        {
          "id": "24cc565dea08",
          "stickerType": "Sbp",
          "productCode": "product-1234",
          "paymentPurpose": "Payment for the product",
          "description": "Product #1234",
          "amount": {
            "value": 39.90,
            "currency": "RUB"
          },
          "status": "Active",
          "payload": "https://qr.nspk.ru/AS****G0?type=01&sum=3990&cur=RUB&crc=ZZZZ"
        }
      ]
    }
    

    Ответ:

    ParameterTypeDescription
    itemsarrayList of stickers

    Notifications

    Payment status

    POST {callbackUrl}

    Request example:

    curl --request POST 'https://merchant-site.com/payments/result' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "id": "12769",
      "created":"2021-09-01T08:20:00Z",
      "testMode": false,
      "status": "Settled",
      "merchantId": "96e809e9-8bce-40fd-86cb-d34db39b4668",
      "amount": {
        "value": 10.5000,
        "currency": "TND"
      },
      "invoice": {
        "description": "test payment",
        "params": {
          "BT_USR": "34"
        }
      },
      "paymentData": {
        "paymentMethod": "BankCard",
        "paymentInstrumentTitle": "410000XXXXXXX0000"
      }
    }'
    

    Request:

    ParameterTypeDescription
    idstringPayment identification
    createddatePayment date
    testModeboolTest payments flag
    statusstringPayment status
    merchantIdstringMerchant identification
    invoiceInvoice details
    descriptionstringPayments description
    orderNostringOrder number in the merchant system
    expiresdateInvoice expiration date
    paramsAdditional parameters
    amountAmount
    valuedecimalAmount to pay
    currencystringCurrency code
    paymentDataPayment data
    paymentMethodstringPayment method
    paymentInstrumentTitlestringPayment instrument title

    Payment token status

    POST {callbackUrl}

    Request example:

    curl --request POST 'https://merchant-site.com/tokens/result' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "id": "8cd9991b47ab42018f0bb56ca0fbdba0",
      "status": "Active",
      "title": "410000XXXXXX0001",
      "expires": "2022-10-31T23:59:59Z"
    }'
    

    Request:

    ParameterTypeDescription
    idstringToken identifier
    statusstringToken status (Active / Revoked)
    titlestringDisplay name
    expiresdateToken expire date

    Payment methods

    AliasName
    bankcardBank card
    runpayRunPay
    webmoneyWebMoney

    Codes and dictionaries

    Error codes

    CodeDescription
    validation_errorIncorrect request format
    not_authorizedNot enough user rights for the operation
    idempotency_key_violationIdempotency key violation
    invalid_operationRequest is rejected
    payment_token_revokedPayment token is revoked
    payment_token_blockedPayment token is locked out

    Payment status

    CodeDescription
    AuthorizedPayment is authorized
    SettledPayment is settled
    CancelledPayment is cancelled
    RejectedPayment is rejected
    ConfirmationAdditional confirmation is required
    PendingPayment is pending

    Refund status

    CodeDescription
    SuccessRefund is successful
    RejectedRefund is rejected
    PendingRefund is pending

    Authorization code

    CodeDescription
    TransactionDeclinedTransaction authorization is declined
    IssuerUnavailableIssuer is not available
    RejectedByFraudRejected by fraud monitoring
    InvalidAmountInvalid amount
    InvalidAccountIncorrect card number / card does not exist
    BlockedAccountCard is blocked (lost)
    OperationNotAllowedOperation is not allowed
    InsufficientFundsInsufficient funds
    ExpiredAccountExpired card date / incorrect card date
    PaymentLimitExceededPayment limit exceeded
    PaymentCountExceededPayment count exceeded
    CardNotEnrolledCard is not enrolled for 3DS
    ThreeDSecureFailed3DS authentication is not passed
    CancelledByUserUser cancelled the payment
    PaymentExpiredPayment expired