API Reference

Transaction Token [/transaction_token]

Resource /v5/transaction_token

Before calling the endpoints purchase or refund a Transaction Token is required. In order to obtain the token, you need to call the transaction token endpoint. The transaction token needs to be passed as a parameter to the purchase or refund endpoint. Token is one per transaction. It is not reusable. It also has a 5 minute expiry time.

Method POST

Parameters

NameTypeLengthDescription
company_tokenalphanumeric128MandatoryThe company token issued during the onboarding process

Return

NameTypeLengthDescription
transaction_tokenalphanumeric128A unique one-time use transaction token that can be used for purchase or refund
company_tokenalphanumeric128The same company token passed during the request

Request Transaction Token [POST]

  • Request (application/json)

      {
          "company_token": "7qmtV8nn621vX5ptbUbFGUXj6EFzQbB"
      }
    
  • Response 200 (application/json)

      {
          "transaction_token": "c71a6ae0-51ee-4610-804f-d017f284a1d3",
          "company_token": "7qmtV8nn621vX5ptbUbFGUXj6EFzQbB"
      }
    

Purchase [/purchase]

Resource /v5/purchase

Posting a Purchase [POST]

That is the endpoint to be called in order to process a payment. Method requires either the credit card details or the token of previously tokenized credit card.

Note: the request must hold a valid session token.

Parameters

Parameters

NameTypeLengthDescription
token.company_tokenalphanumeric128mandatory: The company token issued during the onboarding process
token.transaction_tokenalphanumeric128mandatory: A unique one-time use transaction token that can be used for purchase or refund
customer.referencealphanumeric128optional: An internal merchant’s reference number that can be generated by the merchant if required.
customer.emailalphanumeric128optional: The email address of the end customer
customer.accepted_terms_conditionsbooleantrue/falseoptional: Flag whether customer accepted terms and conditions on merchant’s website
customer.ip_addressalphanumeric128mandatory: The IP of the customer where the request originated
customer.timezonealphanumeric128mandatory: The time zone of the server where the request originated e.g. Australia/Sydney
customer.store_card_permisisonsbooleantrue/falseoptional: true: MINT will create multi-use token and will include it in response (card.token). Subsequent purchases for same customer using same card can be done using card tokens rather than passing all card details again.
missing or false: No card.token will be shared in response.
customer.idalphanumeric128optional: Customer ID is the unique identifier for a customer not the merchant. Only useful if one customer uses multiple cards.
customer.should_mint_apply_authenticationbooleantrue/falseoptional: true: use 3DS missing or false: no 3DS
customer.authentication_redirect_urlalphanumeric128optional: Only mandatory if customer.should_mint_apply_authentication = true. Only used for 3DS. URL where to redirect after the card issuing bank performed the 3DS authentication. It should be merchant’s URL. Note: URL must be HTTPS.
card.tokenalphanumeric128optional: either card token or card details needed. The card token of the previously tokenized card
card.numbernumber19optional: either card token or card details needed. The credit card number
card.expiry_monthnumber2Card expiry month
card.expiry_yearnumber2Card expiry year
card.cvcstring4Card CVC
card.holder_namealphanumeric128The name of the cardholder
purchase.invoice_numberalphanumeric128optional: Merchant’s internal invoice number. Max 255 characters
purchase.amountnumberNumbers with maximum of 2 decimal digits.mandatory: The amount of the purchase e.g. 112.99
purchase.currencystring128mandatory: The currency the purchase was made in, in ISO4217
purchase.should_mint_apply_surchargebooleantrue/falsemandatory: true: Mint will calculate surcharge and add it on the base amount and that will become the total amount. missing or false: no surcharge will be calculated by Mint. This parameter can be passed as false when Merchants want to calculate surcharge on their end and will add a surcharge to the transaction. That way Mint will not calculate any extra surcharges to avoid double surcharging
purchase.should_mint_apply_pre_authorisationbooleantrue/falsemandatory: true: MINT will create pre-authorisation transaction (hold the fund) which can be captured later. Transaction will result in status PRE_AUTHORISED. false: Purchase transaction will be completed and will result in status - APPROVED.

Response

NameTypeDescription
card.tokenstringThe unique card token that can be used for subsequent purchases
card.multi_usebooleanIf in request customer.store_card_permission is true then multi_use will be true else false. This boolean flag tells whether same token can be used for a number of purchases. If multi-use is false then the token can be used for one purchase only.
card.numberstringA partially obfuscated credit card number
card.expiry_monthstringCard expiry month
card.expiry_yearstringCard expiry year
card.holder_namestringName of the cardholder
card.brandstringThe brand of the used credit card. Could be VISA, AMEX, MASTERCARD
card.fundingstringdebit or credit
card.countrystringThe country that issued the credit card
card.finger_printstringUnique identifier per card. Tokenizing same card will generate different card token but will keep fingerprint same. NOTE: Unlike card token, fingerprint cannot be used for purchase.
customer.idstringCustomer ID is the unique identifier for a customer not the merchant. Only useful if one customer uses multiple cards.
customer.authentication_redirect_urlstringCard Issuer URL for 3DS. Value will be passed if transaction is done via 3DS flow and purchase.status will be REQUIRES_AUTHENTICATION. Merchant should redirect end customer to this URL for 3DS authentication with card issuer.
purchase.transaction_time_utcstringTimestamp when the transaction has been processed server-side in UTC
purchase.statusstringStatus of the transaction. APPROVED, DECLINED, FAILED, REQUIRES_AUTHENTICATION (3DS only)
purchase.purchase_referencestringGenerated reference of the processed transaction. It may be empty in case of an error
purchase.amountnumberThe amount of the processed transaction, excluding the surcharge
purchase.surcharge_amountnumberThe applied surcharge of the transaction
purchase.total_amountnumberThe total amount of the processed transaction, including the surcharge
purchase.pre_authorisedbooleanWhether purchase is pre-authorised or not.
purchase.pre_authorised_amountstringAmount which is pre-authorised or kept on hold.
purchase.currencystringThe currency the purchase was made in, in ISO4217
response_codestringDescribes the outcome of the transaction
response_messagestringDescribes the outcome of the transaction in more detail

Sample Request and Response

  • Request (application/json)

          {
                  "token":
                  {
                      "company_token": "DYu1j58asxIc380N6EHY1nyqN3oSyc1",
                      "transaction_token": "1f41ec36-4603-48a8-ba4d-e1a770faaceb"
                  },
                  "customer"
                  :{
                      "reference":"987654321",
                      "email":"[email protected]",
                      "accepted_terms_conditions":"",
                      "ip_address": "123.123.1.123",
                      "timezone": "Australia/Sydney",
                      "store_card_permission":true,
                      "id": "",
                      "should_mint_apply_authentication": true,
                      "authentication_redirect_url": "https://www.google.com"
    
                  },
                  "card":
                  {
                      "token": "",
                      "number": "4000002760003184",
                      "expiry_month": "02",
                      "expiry_year": "24",
                      "cvc": "123",
                      "holder_name": "John Doe"
                  },
                  "purchase":
                  {
                      "invoice_number":"5234234-John-Doe",
                      "amount":100.50,
                      "should_mint_apply_surcharge":false,
                      "should_mint_apply_pre_authorisation":true,
                      "currency": "AUD"
                  }
          }
          
          
          
    
  • Response 200 (application/json)

    • Body

        {
            "card": {
                "token": "4c87cd09-85f4-4188-838e-840b80db9b60",
                "multi_use": true,
                "number": "400000******3184",
                "expiry_month": "2",
                "expiry_year": "2024",
                "holder_name": "John Doe",
                "brand": "visa",
                "funding": "credit",
                "country": "DE"
            },
            "customer": {
                "id": "dc95a92c-46ac-44b0-b3ba-3a783ec3fd62",
                "authentication_redirect_url": "https://hooks.com/redirect/authenticate/src_1I7Dt4IbvF4Bu0q8ydZUSNNO?client_secret=src_client_secret_6LZRiHcKOlvDqR5Qkq4VIYwL"
            },
            "purchase": {
                "transaction_time_utc": null,
                "status": "REQUIRES_AUTHENTICATION",
                "purchase_reference": "763433087819768193",
                "amount": 100.5,
                "surcharge_amount": 0,
                "total_amount": null,
                "currency": "AUD",
                "pre_authorised": true,
                "currency": "AUD",
                "pre_authorised_amount": 100
            },
            "response_code": "success",
            "response_message": "Your request has been successfully processed."
        }
        
      

Capture [/purchase/{purchase_reference}/capture]

Resource /v5/purchase/{purchase_reference}/capture

Capture a pre-authorised purchase [POST]

The endpoint to be called in order to capture an amount of the transaction. The amount was previously locked by using the purchase endpoint with using the purchase.should_mint_apply_pre_authorisation flag set to true.

Note: the request must include an unused transaction token from the /v5/transaction_token endpoint.

Note: if the cancel/capture is not explicitly called the system will auto cancel the transaction after 7 days.

Parameters

Parameters

NameTypeLengthDescription
token.company_tokenalphanumeric128mandatory: The company token issued during the onboarding process
token.transaction_tokenalphanumeric128mandatory: A unique one-time use transaction token that can be used for purchase or refund
capture.amountalphanumeric128mandatory: The amount you want to capture. Could be less than pre-authorised amount but cannot go more than pre-authorised amount
capture.currencyalphanumeric128mandatory: The currency the purchase was made in, in ISO4217
capture.should_mint_apply_surchargebooleantrue/falseoptional: true: Mint will calculate surcharge and add it on the base amount and that will become the total amount. missing or false: no surcharge will be calculated by Mint. This parameter can be passed as false when Merchants want to calculate surcharge on their end and will add a surcharge to the transaction. That way Mint will not calculate any extra surcharges to avoid double surcharging
metadata.channelalphanumeric128optional: The channel from which the request was initiated
metadata.merchant_hashalphanumeric128optional: an HMACSHA256 hash from merchant

Response

NameTypeDescription
card.tokenstringThe unique card token that can be used for subsequent purchases
card.multi_usebooleanIf in request customer.store_card_permission is true then multi_use will be true else false. This boolean flag tells whether same token can be used for a number of purchases. If multi-use is false then the token can be used for one purchase only.
card.numberstringA partially obfuscated credit card number
card.expiry_monthstringCard expiry month
card.expiry_yearstringCard expiry year
card.holder_namestringName of the cardholder
card.brandstringThe brand of the used credit card. Could be VISA, AMEX, MASTERCARD
card.fundingstringdebit or credit
card.countrystringThe country that issued the credit card
card.finger_printstringUnique identifier per card. Tokenizing same card will generate different card token but will keep fingerprint same. NOTE: Unlike card token, fingerprint cannot be used for purchase.
customer.idstringCustomer ID is the unique identifier for a customer not the merchant. Only useful if one customer uses multiple cards.
customer.authentication_redirect_urlstringCard Issuer URL for 3DS. Value will be passed if transaction is done via 3DS flow and purchase.status will be REQUIRES_AUTHENTICATION. Merchant should redirect end customer to this URL for 3DS authentication with card issuer.
purchase.transaction_time_utcstringTimestamp when the transaction has been processed server-side in UTC
purchase.statusstringStatus of the transaction. APPROVED, DECLINED, FAILED, REQUIRES_AUTHENTICATION (3DS only)
purchase.purchase_referencestringGenerated reference of the processed transaction. It may be empty in case of an error
purchase.amountnumberThe amount of the processed transaction, excluding the surcharge
purchase.surcharge_amountnumberThe applied surcharge of the transaction
purchase.total_amountnumberThe total amount of the processed transaction, including the surcharge
purchase.pre_authorisedbooleanWhether purchase is pre-authorised or not.
purchase.pre_authorised_amountstringAmount which is pre-authorised or kept on hold.
purchase.currencystringThe currency the purchase was made in, in ISO4217
response_codestringDescribes the outcome of the transaction
response_messagestringDescribes the outcome of the transaction in more detail

Sample Request and Response

  • Request (application/json)

          {
              "token": {
                "company_token": "DYu1j58asxIc380N6EHY1nyqN3oSyc1",
                "transaction_token": "1f41ec36-4603-48a8-ba4d-e1a770faaceb"
              },
              "capture": {
                  "amount":100.50,
                  "currency":AUD,
                  "should_mint_apply_surcharge": false
              },
              "metadata": {
                  "channel": "API"
                  "merchant_hash": "qnR8DKqJggD55PohusdffaBNviGoOJ67HC6Btry4qKSKJDZc="
          
              }
          }
          
    
  • Response 200 (application/json)

    • Body

        {
            "card": {
                "token": "4c87cd09-85f4-4188-838e-840b80db9b60",
                "multi_use": true,
                "number": "400000******3184",
                "expiry_month": "2",
                "expiry_year": "2024",
                "holder_name": "John Doe",
                "brand": "visa",
                "funding": "credit",
                "country": "DE"
            },
            "customer": {
                "id": "dc95a92c-46ac-44b0-b3ba-3a783ec3fd62",
                "authentication_redirect_url": "https://hooks.com/redirect/authenticate/src_1I7Dt4IbvF4Bu0q8ydZUSNNO?client_secret=src_client_secret_6LZRiHcKOlvDqR5Qkq4VIYwL"
            },
            "purchase": {
                "transaction_time_utc": null,
                "status": "REQUIRES_AUTHENTICATION",
                "purchase_reference": "763433087819768193",
                "amount": 100.5,
                "surcharge_amount": 0,
                "total_amount": null,
                "currency": "AUD",
                "pre_authorised": true,
                "currency": "AUD",
                "pre_authorised_amount": 100
            },
            "response_code": "success",
            "response_message": "Your request has been successfully processed."
        }
        
      

Cancel [/purchase/{purchase_reference}/cancel]

Resource /v5/purchase/{purchase_reference}/cancel

Cancel a pre-authorised purchase [POST]

The endpoint to be called in order to cancel the previously locked amount during the call of the purchase endpoint with using the purchase.should_mint_apply_pre_authorisation flag set to true.

Note: the request must include an unused transaction token from the /v5/transaction_token endpoint.

Note: if the cancel/capture is not explicitly called the system will auto cancel the transaction after 7 days.

Parameters

Parameters

NameTypeLengthDescription
token.company_tokenalphanumeric128mandatory: The company token issued during the onboarding process
token.transaction_tokenalphanumeric128mandatory: A unique one-time use transaction token that can be used for purchase or refund
metadata.channelalphanumeric128optional: The channel from which the request was initiated
metadata.merchant_hashalphanumeric128optional: an HMACSHA256 hash from merchant

Response

NameTypeDescription
card.tokenstringThe unique card token that can be used for subsequent purchases
card.multi_usebooleanIf in request customer.store_card_permission is true then multi_use will be true else false. This boolean flag tells whether the same token can be used for a number of purchases. If multi-use is false then the token can be used for one purchase only.
card.numberstringA partially obfuscated credit card number
card.expiry_monthstringCard expiry month
card.expiry_yearstringCard expiry year
card.holder_namestringName of the cardholder
card.brandstringThe brand of the used credit card. Could be VISA, AMEX, MASTERCARD
card.fundingstringdebit or credit
card.countrystringThe country that issued the credit card
card.finger_printstringUnique identifier per card. Tokenizing the same card will generate a different card token but will keep the fingerprint the same. NOTE: Unlike card token, fingerprint cannot be used for purchase.
customer.idstringCustomer ID is the unique identifier for a customer not the merchant. Only useful if one customer uses multiple cards.
customer.authentication_redirect_urlstringCard Issuer URL for 3DS. Value will be passed if the transaction is done via 3DS flow and purchase.status will be REQUIRES_AUTHENTICATION. Merchant should redirect end customer to this URL for 3DS authentication with card issuer.
purchase.transaction_time_utcstringTimestamp when the transaction has been processed server-side in UTC
purchase.statusstringStatus of the transaction. APPROVED, DECLINED, FAILED, REQUIRES_AUTHENTICATION (3DS only)
purchase.purchase_referencestringGenerated reference of the processed transaction. It may be empty in case of an error
purchase.amountnumberThe amount of the processed transaction, excluding the surcharge
purchase.surcharge_amountnumberThe applied surcharge of the transaction
purchase.total_amountnumberThe total amount of the processed transaction, including the surcharge
purchase.pre_authorisedbooleanWhether the purchase is pre-authorised or not.
purchase.pre_authorised_amountstringAmount which is pre-authorised or kept on hold.
purchase.currencystringThe currency the purchase was made in, in ISO4217
response_codestringDescribes the outcome of the transaction
response_messagestringDescribes the outcome of the transaction in more detail

Sample Request and Response

  • Request (application/json)

          {
              "token": {
                "company_token": "DYu1j58asxIc380N6EHY1nyqN3oSyc1",
                "transaction_token": "1f41ec36-4603-48a8-ba4d-e1a770faaceb"
              },
              "metadata": {
                  "channel": "API"
                  "merchant_hash": "qnR8DKqJggD55PohusdffaBNviGoOJ67HC6Btry4qKSKJDZc="
          
              }
          }
          
    
  • Response 200 (application/json)

    • Body

        {
            "card": {
                "token": "4c87cd09-85f4-4188-838e-840b80db9b60",
                "multi_use": true,
                "number": "400000******3184",
                "expiry_month": "2",
                "expiry_year": "2024",
                "holder_name": "John Doe",
                "brand": "visa",
                "funding": "credit",
                "country": "DE"
            },
            "customer": {
                "id": "dc95a92c-46ac-44b0-b3ba-3a783ec3fd62",
                "authentication_redirect_url": "https://hooks.com/redirect/authenticate/src_1I7Dt4IbvF4Bu0q8ydZUSNNO?client_secret=src_client_secret_6LZRiHcKOlvDqR5Qkq4VIYwL"
            },
            "purchase": {
                "transaction_time_utc": null,
                "status": "REQUIRES_AUTHENTICATION",
                "purchase_reference": "763433087819768193",
                "amount": 100.5,
                "surcharge_amount": 0,
                "total_amount": null,
                "currency": "AUD",
                "pre_authorised": true,
                "currency": "AUD",
                "pre_authorised_amount": 100
            },
            "response_code": "success",
            "response_message": "Your request has been successfully processed."
        }
        
      

Surcharge [/surcharge]

Resource /v5/surcharge

Get Surcharge [POST]

Calling ‘surcharge’ endpoint is optional. If your payment workflow supports showing the surcharges to the customer before processing the payment you can call the endpoint. The response will contain all additional fees and extra charges that will be added to the total costs of the transaction.

If your payment process does not accommodate that step you might directly call the ‘purchase’ and skip ‘surcharge'

Parameters

NameTypeLengthDescription
card.tokenalphanumeric128optional: ⚠️ either card token or card details needed. The card token of the previously tokenized card
card.numberNumber19optional: ⚠️ either card token or card details needed. The credit card number
card.expiry_monthNumber2Card expiry month
card.expiry_yearNumber2Card expiry year
card.cvcNumber4CVC
card.holder_namealphanumeric128Name of the card holder
amountnumberNumbers with maximum of 2 decimal digits.mandatory: The amount of the purchase e.g. 100.25
currencystring128mandatory: The currency of the surcharge in ISO4217
token.companyalphanumeric128mandatory: The company token issued during the onboarding process

Return

NameTypeDescription
card.brandstringThe brand of the used credit card. Could be VISA, AMEX, MASTERCARD
card.fundingstringDebit or credit
card.countrystringThe country that issued the credit card
surcharge.amountnumberThe surcharge amount that will be applied by Mint if the transaction will be processed
surcharge.percentnumberThe percentage value of the full amount the surcharge is calculated in
surcharge.currencystringThe currency the surcharge is calculated in, in ISO4217
response_codestringDescribes the outcome of the transaction
response_messagestringDescribes the outcome of the transaction in more detail
  • Request (application/json)

          { 
              "token": { 
                      "company": "DYu1j58asxIc380N6EHY1nyqN3oSyc1"
                  }, 
                  "card": { 
                      "token": "", 
                      "number": "4111111111111111", 
                      "expiry_month": "02", 
                      "expiry_year": "22", 
                      "cvc": "123", 
                      "holder_name": "Joe Doe" 
                  },
                  "amount": 2000000, 
                  "currency": "AUD" 
          }
          
          
    
  • Response 200 (application/json)

    • Body

        { 
            "card": { 
                        "brand": "visa", 
                        "funding": "credit",
                        "country": "US" 
                    }, 
            "surcharge": { 
                        "amount": 20000, 
                        "percent": 1, 
                        "currency": "AUD" 
                    }, 
            "response_code": "success", 
            "response_message": "Your request has been successfully processed." 
        }
        
      

Refund [/{purchase_reference}/refund]

Resource /v5/purchase/{purchase_reference}/refund

Post a Refund Request [POST]

That the endpoint to be called in order to process a refund. mPay supports partial refunds. If the total transaction amount was 100 AUD and the ‘refund’ is initiated with the amount of 70 AUD that automatically constitute as a partial refund of 70 AUD of the original transaction.

Note: the request must hold a valid session token.




Parameters

Parameters

NameTypeLengthDescription
token.transaction_tokenalphanumeric128mandatory: A unique one-time use transaction token that can be used for purchase or refund
token.company_tokenalphanumeric128mandatory: The company token issued during the onboarding process
customer.customer_referencealphanumeric128optional: An internal merchant’s reference number that can be generated by the merchant if required
customer.ip_addressalphanumeric128mandatory: The IP of the customer where the request originated
customer.timezonealphanumeric128mandatory: The timezone of the server where the request originated e.g. Australia/Sydney
refund.invoice_numberalphanumeric128optional: Merchant’s internal invoice number. Max 255 characters
refund.amountnumberNumbers with maximum of 2 decimal digitsmandatory: The amount of the refund e.g. 194.57
refund.currencystring128mandatory: The currency of the refund in ISO4217



Response

NameTypeDescription
card.brandstringThe brand of the used card. Could be VISA, AMEX, MASTERCARD
card.fundingstringThe funding type of the card. i.e debit, credit
card.countrystringThe country that issued the credit card
card.numberstringA partially obfuscated credit card number
card.holder_namestringName of the cardholder
refund.transaction_time_utcdate timeTimestamp when the transaction has been processed server-side in UTC
refund.statusstringStatus of the transaction. APPROVED, DECLINED, FAILED
refund.purchase_referencestringGenerated reference of the processed transaction. It will be empty in case of an error
refund.refund_referencestringGenerated reference for the refund transaction. It will be empty in case of an error
refund.amountnumberThe amount of the processed transaction, excluding the surcharge
refund.currencystringThe currency of the refund in ISO4217
response_codestringDescribes the outcome of the transaction
response_messagestringDescribes the outcome of the transaction in more detail
  • Request (application/json)

          {
            "token": {
              "company_token": "7qmtV8nn621vX5ptbUbFGUXj6EF",
              "transaction_token": "d0759318-610b-447b-b63d-01754ddfc6be"
            },
            "customer": {
              "customer_reference": "string",
              "ip_address": "191.167.1.1",
              "timezone": "Australia/Sydney"
            },
            "refund": {
              "invoice_number": "13412543454",
              "amount": 194.57,
              "currency": "AUD"
            }
          }
    
  • Response 200 (application/json)

    • Body

        {
            "card": {
            "brand": "mastercard",
            "funding": "credit",
            "country": "AU",
            "number": "555555******4444",
            "holder_name": "John Doe"
        },
            "refund": {
            "transaction_time_utc": "2020-03-04 00:48:04 AM",
            "status": "APPROVED",
            "purchase_reference": "296385238372043411",
            "refund_reference": "9945464569564347",
            "amount": 110.2,
            "currency": "AUD"
            },
            "response_code": "success",
            "response_message": "Your request has been successfully processed."
        }
      

Transaction Status [/purchase/{invoicenumber}]

Resource /v5/purchase/{invoice_number|purchase_reference}

Inquire for Transaction Status [POST]

That the endpoints to be called in order to retrieve the status of the transaction either a purchase or a refund.

To get the status of a purchase use:

https://secure-uatsb.mintpayments.net/mpay/v5/purchase/{invoice_number|purchase_reference}

To get the status of a refund use :

https://secure-uatsb.mintpayments.net/mpay/v5/refund/{invoice_number|purchase_reference}



Both endpoints will accept either customer’s generated invoice number or Mint’s generated purchase reference returned in the response upon successful transaction. It is at API caller’s discretion what to use. Customer’s invoice number is a value chosen by the customer. It needs to be passed as an input parameter while calling purchase endpoint purchase.invoice_numberor calling refund refund.invoice_number

Parameters

NameTypeLengthDescription
company_tokenalphanumeric128mandatory: The company token issued during the onboarding process

Responses

NameTypeDescription
transaction_time_utcstringTimestamp when the transaction has been processed server-side in UTC
statusstringStatus of the transaction. APPROVED, DECLINED, FAILED, REQUIRES_AUTHENTICATION (3DS only)
amountnumberThe amount of the processed transaction, including the surcharge (if any)
currencystringThe currency the transaction was made in, in ISO4217
response_codestringDescribes the outcome of the transaction
response_messagestringDescribes the outcome of the transaction in more detail


  • Request (application/json)

          {
              "company_token": "7qmtV8nn621vX5ptbUbFGUXj6EFzQbB"
          }
    
  • Response 200 (application/json)

    • Body

        {
            "transaction_time_utc": "2021-01-08 06:13:18 AM",
            "status": "APPROVED",
            "amount": 100.5,
            "currency": "AUD"
            "response_code": "success",
            "response_message": "Your request has been successfully processed."
        }
      

3DS Redirect [/purchase/{invoicenumber}/3dsredirect]

Resource /v5/purchase/[purchase reference]/3dsredirect

3DS Redirect [POST]

That the endpoint to be called only if 3DS functionality is required. The endpoint will return a URL to where to redirect after the card issuing bank processed the 3DS validation.


Parameters

NameTypeLengthDescription
company_tokenalphanumeric128mandatory: The company token issued during the onboarding process


Responses

NameTypeDescription
card.tokenstringThe unique card token that can be used for subsequent purchases
card.multi_usebooleanReturns the value that was passed while tokenizing the card. This boolean flag tells whether the same token can be used for a number of purchases. If multi-use is false then the token can be used for one purchase only.
card.numberstringA partially obfuscated credit card number
card.expiry_monthstringCard expiry month
card.expiry_yearstringCard expiry year
card.holder_namestringName of the cardholder
card.brandstringThe brand of the used credit card. Could be VISA, AMEX, MASTERCARD
card.fundingstringDebit or credit
card.countrystringThe country that issued the credit card
card.finger_printstringUnique identifier per card. Tokenizing the same card will generate a different card token but will keep the fingerprint the same. NOTE: Unlike card token, fingerprint cannot be used for purchase.
customer.idstringCustomer ID is the unique identifier for a customer not the merchant. Only useful if one customer uses multiple cards.
customer.authentication_redirect_urlstringCard Issuer URL for 3DS. Value will be passed if the transaction is done via 3DS flow and purchase.status will be REQUIRES_AUTHENTICATION. Merchant should redirect end customer to this URL for 3DS authentication with card issuer.
purchase.transaction_time_utcstringTimestamp when the transaction has been processed server-side in UTC
purchase.statusstringStatus of the transaction. APPROVED, DECLINED, FAILED, REQUIRES_AUTHENTICATION (3DS only)
purchase.purchase_referencestringGenerated reference of the processed transaction. It may be empty in case of an error
purchase.amountnumberThe amount of the processed transaction, excluding the surcharge
purchase.surcharge_amountnumberThe applied surcharge of the transaction
purchase.total_amountnumberThe total amount of the processed transaction, including the surcharge
purchase.pre_authorisedbooleanWhether the purchase is pre-authorised or not.
purchase.pre_authorised_amountnumberAmount which is pre-authorised or kept on hold.
purchase.currencystringThe currency the purchase was made in, in ISO4217
response_codestringDescribes the outcome of the transaction
response_messagestringDescribes the outcome of the transaction in more detail
  • Request (application/json)

      {
          "company_token": "7qmtV8nn621vX5ptbUbFGUXj6EFzQbB",
      }
          
    
  • Response 200 (application/json)

      {
          "card": {
              "token": "f31c96dd-6f5b-48f0-8e89-bc3b940bd642",
              "multi_use": true,
              "number": "400000******3063",
              "expiry_month": "2",
              "expiry_year": "2024",
              "holder_name": "John Doe",
              "brand": "visa",
              "funding": "credit",
              "country": "US",
              "finger_print": "VIRzpEizOBocw86X"
          },
          "customer": {
              "id": "1773b8af-ad0d-4f64-a89a-43f361c52416",
              "authentication_redirect_url": null
          },
          "purchase": {
              "transaction_time_utc": "2021-04-30 04:32:19 AM",
              "status": "PRE_AUTHORISED",
              "purchase_reference": "611541411973204737",
              "amount": 100,
              "surcharge_amount": 0,
              "total_amount": 100,
              "pre_authorised": true,
              "currency": "AUD",
              "pre_authorised_amount": 100
          },
          "response_code": "success",
          "response_message": "Your request has been successfully processed."
      }
          
    

Invalidate Card Token [/invalidate_card_token]

Resource /v5/invalidate_card_token

Request Invalidate Card[POST]

This endpoint will invalidate the token. Once the token has been invalidated it cannot be reused or activated anymore. The card needs to be tokenized again in order to obtain a new token


Parameters

NameTypeLengthDescription
company_tokenalphanumeric128mandatory: The company token issued during the onboarding process
card_tokenalphanumeric128mandatory: The unique card token that can be used for subsequent purchases

Returns

NameTypeDescription
card_tokenstringThe unique card token that can be used for subsequent purchases
card.numberstringThe credit card number
card.expiry_monthstringCard expiry month
card.expiry_yearstringCard expiry year
response_codestringDescribes the outcome of the transaction
response_messagestringDescribes the outcome of the transaction in more detail
  • Request (application/json)

          {
              "company_token": "OzplYMVIART0Kr8Oc1Lde0qQ8ABCDEF",
              ”card_token”: “fe687160-cba6-480c-bd70-c81ff19f8aff“
          }
          
    
  • Response 200 (application/json)

    • Body

        {
            "card_token": “fe687160-cba6-480c-bd70-c81ff19f8aff“,
            "card": {
                "number": "424242******4242"
                "expiry_month": "02",
                "expiry_year": "2022"
            }, 
            "response_code": "success",
            "response_message": "Your request has been successfully processed."  
        }
        
      

Invalidate Card [/invalidate_card]

Resource /v5/invalidate_card

Invalidate Card Token[POST]

This endpoint will invalidate the token. Once the token has been invalidated it cannot be reused or activated anymore. The card needs to be tokenized again in order to obtain a new token


Parameters

NameTypeLengthDescription
company_tokenalphanumeric128mandatory: The company token issued during the onboarding process
card_tokenalphanumeric128mandatory: The unique card token that can be used for subsequent purchases

Results

NameTypeDescription
card_tokenstringThe unique card token that can be used for subsequent purchases
card.numberstringThe credit card number
card.expiry_monthstringCard expiry month
card.expiry_yearstringCard expiry year
response_codestringDescribes the outcome of the transaction
response_messagestringDescribes the outcome of the transaction in more detail
  • Request (application/json)

          {
              "company_token": "OzplYMVIART0Kr8Oc1Lde0qQ8ABCDEF",
              "card_token": "fe687160-cba6-480c-bd70-c81ff19f8aff"
          }
          
          
    
  • Response 200 (application/json)

    • Body

        {
            ”card_token”: “fe687160-cba6-480c-bd70-c81ff19f8aff“,
            "card": {
                "number": "424242******4242"
                "expiry_month": "02",
                "expiry_year": "2022"
            }, 
            "response_code": "success",
            "response_message": "Your request has been successfully processed."  
        }
        
      

Card [/card]

Resource /v5/card

Card [POST]

This endpoint will return card data associated with the token.


Parameters

NameTypeLengthDescription
card_tokenalphanumeric128mandatory: The unique card token that can be used for subsequent purchases
company_tokenalphanumeric128mandatory: The company token issued during the onboarding process

Returns

NameTypeDescription
card_tokenstringThe unique card token that can be used for subsequent purchases
multi_usebooleanIf in input request store_card_permission is true then multi_use will be true else false. This boolean flag tells whether the same token can be used for a number of purchases. If multi-use is false then the token can be used for one purchase only.
created_timestamp_utcstringTimestamp of the creation of the token
card.numberstringThe credit card number
card.expiry_monthstringCard expiry month
card.expiry_yearstringCard expiry year
card.holder_namestringThe name of the card holder
card.fundingstringDebit or credit
card.countrystringThe country that issued the credit card
card.brandstringThe brand of the used credit card. Could be VISA, AMEX, MASTERCARD
customer.idstringCustomer ID is the identifier for a customer. Business use - One customer can have multiple cards / card tokens. If it's a multi-use token and card token is not invalidated then the corresponding customer ID will be passed.
  • Request (application/json)

         {
             ”card_token”: “ab123456-abc4-123a-ab12-a12bb34c5def“,
             ”company_token”: “OzplYMVIART0Kr8Oc1Lde0qQ8ABCDEF“
         }
         
    
  • Response 200 (application/json)

    • Body

        {
            "card_token": "ab123456-abc4-123a-ab12-a12bb34c5def",
            "multi_use": "true",
            "created_timestamp_utc": "2020-03-26 02:08:38 AM",
            "card": {
                "number": "424242******4242"
                "expiry_month": "02",
                "expiry_year": "22",
                "holder_name": "John Doe",
                "funding": "credit"
                "country": "US",
                "brand": "visa"
            },
            "customer": {
                "id": "bc234567-bcd5-234b-bc23-b23cc45d6efg"
            }
        }
        
        
      

Tokenize Card [/tokenize_card]

Resource /v5/tokenize_card

Create token for credit / debit card with finger print functionality [POST]

That call to this endpoint will tokenize the credit card and store the card data securely in the vault. The returned token needs to be store on customer’s end for further use. Upon successful tokenization, all subsequent purchases can be done passing the card token instead the real card data.


Parameters

NameTypeLengthDescription
card.numbernumber19optional: either card token or card details needed. The credit card number
card.expiry_monthnumber2Card expiry month
card.expiry_yearnumber2Card expiry year
card.cvcstring4Card CVC
card.holder_namealphanumeric128The name of the card holder
customer.store_card_permisisonbooleantrue/falseoptional: true: MINT will create multi-use token and will include it in response (card.token). Subsequent purchases for same customer using same card can be done using card tokens rather than passing all card details again.
missing or false: No card.token will be shared in response.
customer.idalphanumeric128optional: Customer ID is the unique identifier for a customer not the merchant. Only useful if one customer uses multiple cards.
company_tokenalphanumeric128mandatory: The company token issued during the onboarding process

Response

NameTypeDescription
card.tokenstringThe unique card token that can be used for subsequent purchases
card.multi_usebooleanIf in request customer.store_card_permission is true then multi_use will be true else false. This boolean flag tells whether the same token can be used for a number of purchases. If multi-use is false then the token can be used for one purchase only.
card.numberstringA partially obfuscated credit card number
card.expiry_monthstringCard expiry month
card.expiry_yearstringCard expiry year
card.holder_namestringName of the cardholder
card.brandstringThe brand of the used credit card. Could be VISA, AMEX, MASTERCARD
card.fundingstringDebit or credit
card.countrystringThe country that issued the credit card
card.finger_printstringUnique identifier per card. Tokenizing the same card will generate a different card token but will keep the fingerprint the same. NOTE: Unlike card token, fingerprint cannot be used for purchase.
customer.idstringCustomer ID is the unique identifier for a customer not the merchant. Only useful if one customer uses multiple cards.
customer.authentication_redirect_urlstringCard Issuer URL for 3DS. Value will be passed if the transaction is done via 3DS flow and purchase.status will be REQUIRES_AUTHENTICATION. Merchant should redirect end customer to this URL for 3DS authentication with card issuer.
purchase.transaction_time_utcstringTimestamp when the transaction has been processed server-side in UTC
purchase.statusstringStatus of the transaction. APPROVED, DECLINED, FAILED, REQUIRES_AUTHENTICATION (3DS only)
purchase.purchase_referencestringGenerated reference of the processed transaction. It may be empty in case of an error
purchase.amountnumberThe amount of the processed transaction, excluding the surcharge
purchase.surcharge_amountnumberThe applied surcharge of the transaction
purchase.total_amountnumberThe total amount of the processed transaction, including the surcharge
purchase.pre_authorisedbooleanWhether the purchase is pre-authorised or not.
purchase.pre_authorised_amountstringAmount which is pre-authorised or kept on hold.
purchase.currencystringThe currency the purchase was made in, in ISO4217
response_codestringDescribes the outcome of the transaction
response_messagestringDescribes the outcome of the transaction in more detail

Sample Request and Response

  • Request (application/json)

          {
                  "card":
                  {
                      "token": "",
                      "number": "4000002760003184",
                      "expiry_month": "02",
                      "expiry_year": "24",
                      "cvc": "123",
                      "holder_name": "John Doe"
                  },
                  "customer":
                  {
                      "store_card_permisison":"987654321",
                      "id": true,
    
                  },
                  "company_token": "DYu1j58asxIc380N6EHY1nyqN3oSyc1",
          }
    
  • Response 200 (application/json)

    • Body

        {
            "card": {
                "token": "4c87cd09-85f4-4188-838e-840b80db9b60",
                "multi_use": true,
                "number": "400000******3184",
                "expiry_month": "2",
                "expiry_year": "2024",
                "holder_name": "John Doe",
                "brand": "visa",
                "funding": "credit",
                "country": "DE"
            },
            "customer": {
                "id": "dc95a92c-46ac-44b0-b3ba-3a783ec3fd62",
                "authentication_redirect_url": "https://hooks.com/redirect/authenticate/src_1I7Dt4IbvF4Bu0q8ydZUSNNO?client_secret=src_client_secret_6LZRiHcKOlvDqR5Qkq4VIYwL"
            },
            "purchase": {
                "transaction_time_utc": null,
                "status": "REQUIRES_AUTHENTICATION",
                "purchase_reference": "763433087819768193",
                "amount": 100.5,
                "surcharge_amount": 0,
                "total_amount": null,
                "currency": "AUD",
                "pre_authorised": true,
                "currency": "AUD",
                "pre_authorised_amount": 100
            },
            "response_code": "success",
            "response_message": "Your request has been successfully processed."
        }
      

Direct Debit [/direct_debit]

Resource /v5/direct_debit

Initiate a Direct Debit Purchase transaction [POST]

That is the endpoint to be called in order to initiate a direct debit.

Note: the request must hold a valid session token.


Parameters

NameTypeLengthDescription
token.company_tokenalphanumeric128mandatory: The company token issued during the onboarding process
token.transaction_tokenalphanumeric128mandatory: A unique one-time use transaction token that can be used for purchase or refund
bank_account.numberalphanumeric128mandatory: Bank account number
bank_account.holder_namealphanumeric128mandatory: Bank account holder name
bank_account.bsbalphanumeric128mandatory: Bank account bsb
customer.customer_referencealphanumeric128optional: An internal merchant’s reference number that can be generated by the merchant if required.
customer.customer_emailalphanumeric128optional: The email address of the end customer
customer.accepted_terms_conditionsbooleantrue/falseoptional: Flag whether customer accepted terms and conditions on merchant’s website
customer.ip_addressalphanumeric128mandatory: The IP of the customer where the request originated
customer.timezonealphanumeric128mandatory: The time zone of the server where the request originated e.g. Australia/Sydney
customer.user_agentbooleantrue/falseoptional: true: MINT will create multi-use token and will include it in response (card.token). Subsequent purchases for same customer using the same card can be done using card tokens rather than passing all card details again.
missing or false: No card.token will be shared in response.
purchase.invoice_numberalphanumeric128optional: Merchant’s internal invoice number. Max 255 characters
purchase.amountnumberNumbers with maximum of 2 decimal digitsmandatory: The amount of the purchase e.g. 112.99
purchase.currencystring128mandatory: The currency the purchase was made in, in ISO4217
purchase.should_mint_apply_feebooleantrue/falsemandatory: true: Mint will calculate surcharge and add it on the base amount and that will become the total amount.
missing or false: no surcharge will be calculated by Mint. This parameter can be passed as false when Merchants want to calculate surcharge on their end and will add a surcharge to the transaction. That way Mint will not calculate any extra surcharges to avoid double surcharging
metadata.channelalphanumeric128optional: The channel from which the request was initiated
metadata.merchant_hashalphanumeric128optional: an HMACSHA256 hash from merchant

Response

NameTypeDescription
bank_account.numberstringA partially obfuscated bank account number
bank_account.holder_namestringName of the bank account holder
bank_account.bsbstringThe bsb of the bank account used for transaction
purchase.transaction_time_utcstringTimestamp when the transaction has been processed server-side in UTC
purchase.statusstringStatus of the transaction. APPROVED, DECLINED, FAILED, REQUIRES_AUTHENTICATION (3DS only)
purchase.purchase_referencestringGenerated reference of the processed transaction. It may be empty in case of an error
purchase.amountnumberThe amount of the processed transaction, excluding the surcharge
purchase.fee_amountnumberThe applied surcharge of the transaction
purchase.total_amountnumberThe total amount of the processed transaction, including the surcharge
purchase.currencystringThe currency the purchase was made in, in ISO4217
response_codestringDescribes the outcome of the transaction
response_messagestringDescribes the outcome of the transaction in more detail

Sample Request and Response

  • Request (application/json)

          {
            "token": {
                "company_token": "7qmtV8nn621vX5ptbUbFGUXj6EF",
                "transaction_token": "d0759318-610b-447b-b63d-01754ddfc6be"
            },
            "bank_account": {
                "number": "555555******4444",
                "holder_name": "John Doe",
                "bsb": "123456"
            },
            "customer": {
                "customer_reference": "987654321",
                "customer_email": "[email protected]",
                "accepted_terms_conditions": "",
                "ip_address": "123.123.1.123",
                "timezone": "Australia/Sydney",
                "user_agent": "Mozilla/Firefox"
            },
            "purchase": {
                "invoice_number": "5234234-John-Doe",
                "amount": 100.50,
                "currency": "AUD",
                "should_mint_apply_fee": false,
                "should_mint_apply_pre_authorisation": true
            },
            "metadata": {
                "channel": "API",
                "merchant_hash": "qnR8DKqJggD55PohusdffaBNviGoOJ67HC6Btry4qKSKJDZc="
            }
          }
    
  • Response 200 (application/json)

    • Body

        {
          "card": {
              "number": "400000******3184",
              "holder_name": "John Doe",
              "bsb": "123456"
          },
          "purchase": {
              "transaction_time_utc": null,
              "status": "REQUIRES_AUTHENTICATION",
              "purchase_reference": "763433087819768193",
              "amount": 100.5,
              "fee_amount": 0,
              "total_amount": null,
              "currency": "AUD",
              "currency": "AUD"
          },
          "response_code": "success",
          "response_message": "Your request has been successfully processed."
        }
      

Direct Debit Fee [/direct_debit_fee]

Resource /v5/direct_debit_fee

Get Direct Debit Fee that applies to a direct debit transaction [POST]

That is the endpoint to be called in order to get direct debit fee that applies to a direct debit transaction.

Note: the request must hold a valid session token.


Parameters

NameTypeLengthDescription
purchase.amountnumberNumbers with maximum of 2 decimal digitsmandatory: The amount of the purchase e.g. 112.99
purchase.currencystring128mandatory: The currency the purchase was made in, in ISO4217
token.company_tokenalphanumeric128mandatory: The company token issued during the onboarding process

Response

NameTypeDescription
fee.total_amountdoubleTotal amount
fee.amountdoubleDirect debit fee amount
fee.fee_percentdoublePercentage with which direct debit fee calculation is based
fee.fee_fixeddoubleDirect debit fee fixed
fee.fee_cappeddoubleDirect debit fee capped
fee.currencystringCurrency of Amount
response_codestringDescribes the outcome of the transaction
response_messagestringDescribes the outcome of the transaction in more detail

Sample Request and Response

  • Request (application/json)

          {
            "token": {
              "company_token": "7qmtV8nn621vX5ptbUbFGUXj6EF",
            },
            "purchase": {
            "amount": 100.50,
            "currency": "AUD",
            }
          }
    
  • Response 200 (application/json)

    • Body

        {
          "fee": {
            "total_amount": 0.0,
            "amount": 0.0,
            "fee_percent": 0.0,
            "fee_fixed": 0.0,
            "fee_capped": 0.0,
            "currency": "USD"
          },
          "response_code": "success",
          "response_message": "Your request has been successfully processed."
        }
      

Direct Debit Refund [/direct_debit/{purchase_reference}/refund]

Resource /v5/direct_debit/{purchase_reference}/refund

Initiate a Direct Debit Refund transaction [POST]

That is the endpoint to be called in order to initiate a direct debit refund transaction

Note: the request must hold a valid session token.


Parameters

NameTypeLengthDescription
token.company_tokenalphanumeric128mandatory: The company token issued during the onboarding process
token.transaction_tokenalphanumeric128mandatory: A unique one-time use transaction token that can be used for purchase or refund
customer.customer_referencealphanumeric128optional: An internal merchant’s reference number that can be generated by the merchant if required.
customer.customer_emailalphanumeric128optional: The email address of the end customer
customer.accepted_terms_conditionsbooleantrue/falseoptional: Flag whether customer accepted terms and conditions on merchant’s website
customer.ip_addressalphanumeric128mandatory: The IP of the customer where the request originated
customer.timezonealphanumeric128mandatory: The time zone of the server where the request originated e.g. Australia/Sydney
customer.user_agentbooleantrue/falseoptional: true: MINT will create multi-use token and will include it in response (card.token). Subsequent purchases for same customer using the same card can be done using card tokens rather than passing all card details again.
missing or false: No card.token will be shared in response.
refund.invoice_numberalphanumeric128optional: Merchant’s internal invoice number. Max 255 characters
refund.amountnumberNumbers with maximum of 2 decimal digitsmandatory: The amount of the purchase e.g. 112.99
refund.currencystring128mandatory: The currency the purchase was made in, in ISO4217
metadata.channelalphanumeric128optional: The channel from which the request was initiated
metadata.merchant_hashalphanumeric128optional: an HMACSHA256 hash from merchant

Response

NameTypeDescription
bank_account.numberstringA partially obfuscated credit card number
bank_account.holder_namestringName of the cardholder
bank_account.bsbstringThe bsb of the bank account used for transaction
refund.statusstringStatus of the transaction. APPROVED, DECLINED, FAILED, REQUIRES_AUTHENTICATION (3DS only)
refund.transaction_time_utcstringTimestamp when the transaction has been processed server-side in UTC
refund.refund_referencestringGenerated reference of the refund transaction. It may be empty in case of an error
refund.purchase_referencestringGenerated reference of the processed transaction. It may be empty in case of an error
refund.amountnumberThe amount of the processed transaction, excluding the surcharge
refund.currencystringThe currency the purchase was made in, in ISO4217
response_codestringDescribes the outcome of the transaction
response_messagestringDescribes the outcome of the transaction in more detail

Sample Request and Response

  • Request (application/json)

          {
            "token": {
            "company_token": "7qmtV8nn621vX5ptbUbFGUXj6EF",
            "transaction_token": "d0759318-610b-447b-b63d-01754ddfc6be"
            },
            "customer": {
              "customer_reference": "987654321",
              "customer_email": "[email protected]",
              "accepted_terms_conditions": "",
              "ip_address": "123.123.1.123",
              "timezone": "Australia/Sydney",
              "user_agent": "Mozilla/Firefox"
            },
            "refund": {
              "invoice_number": "5234234-John-Doe",
              "amount": 100.50,
              "currency": "AUD",
            },
            "metadata": {
            "channel": "API",
            "merchant_hash": "qnR8DKqJggD55PohusdffaBNviGoOJ67HC6Btry4qKSKJDZc="
            }
          }
    
  • Response 200 (application/json)

    • Body

        {
          "card": {
            "number": "400000******3184",
            "holder_name": "John Doe",
            "bsb": "123456"
          },
          "refund": {
            "status": "REQUIRES_AUTHENTICATION",
            "transaction_time_utc": null,
            "refund_reference": "8793247589235743982474",
            "purchase_reference": "763433087819768193",
            "amount": 100.5,
            "currency": "AUD"
          },
          "response_code": "success",
          "response_message": "Your request has been successfully processed."
        }
      

Working Example - The Sequence Of Calls

API Key

In order to make any mPay call, you must put your API key in the request header. That will normally happen by adding -H "Authorization: Bearer 7eba1cae-78b3-3a3f-81e3-89ccf5f4e13b" into your request. An API key will be provided to you by the on-boarding process.

Company Token

In order to call some of the endpoints, you need to pass the value as a parameter to the endpoint. Company Token will be provided to you by the on-boarding process.

Transaction Token

A one off-key valid for one use only. It has to be requested first using the mPay token endpoint

Card Token

After a successful tokenization of the card data that token can be used instead of the credit card number in all subsequent transactions that require the card data.

Token/Key Usage Mapping

EndpointAPI KeyCompany TokenTransaction TokenCard Token
transaction_token
tokenize_card
card
invalidate_card_token
surcharge
purchase/refund
3dsredirect
purchase/{purchase_reference}

Payment/Refund Sequence

  • Use API Key and Company Token to get Transaction Token
  • Construct the payment/refund request: add Transaction Token
  • Use API Key and the Company Token and Transaction Token to call the purchase/refund endpoint

Note: surcharge is optional if you decide to display the extra surcharges before proceeding with the purchase.

Authorisation Sequence

  • Use API Key and Company Token to get Transaction Token
  • Construct the payment request by using the flag purchase.should_mint_apply_pre_authorisation set to true: add Transaction Token. That will pre-auth the tranaction
  • call capture - proceed with the pre-authed amount
  • call cancel - release the previously pre-authed amount
>Note: auto cancel will be triggered after 7 days. If no cpature nor cancel called the amount will be release.

Sample card numbers for testing


Cards that will be accepted by the test system

            4000000360000006 (Visa)
            4242424242424242 (Visa)
            4000056655665556 (Visa debit)
            5555555555554444 (Mastercard)
            5200828282828210 (Mastercard debit)
            378282246310005  (Amex)

Cards that will be rejected by the test system

            4000000000009987 (declined because of lost card)
            4000000000009979 (declined because of stolen card)
            4000000000000069 (expired card)
            4000000000009995 (insufficient funds)

3DS2 flow test cards

            4000000000003220 (3DS2 - Authentication Required)
            4000000000003253 (3DS2 - Authentication Attempted)
            4000000000003236 (3DS2 - Authentication Unavailable)

All other fields

            "expiry_month":"11" - anything
            "expiry_year":"24" - anything in the future
            "cvv":"123" - any 3 digits combo (4 for Amex)
            "holder_name": "John Doe" - any string value