On This Page
Credentialed Transactions Developer Guide
This section describes how to use this developer guide and where to find further
information.
- Audience and Purpose
- This guide is written for application developers who want to use theREST APIto integrate payment card processing using credentials into an order management system.Implementing theCybersourcepayment services requires software development skills. You must write code that uses the API request and response fields to integrate the credit card services into your existing order management system.Visit theCybersourcedocumentation hub to find additional processor-specific versions of this guide and additional technical documentation.
- Convention
- This statement appears in this document:IMPORTANTAnImportantstatement contains information essential to successfully completing a task or learning a concept.
- Customer Support
- For support information about any service, visit the Support Center:
Recent Revisions to This Document
26.04.01
National Payment Gateway
initial release.Introduction to Credentialed Transactions
Credentialed transactions, also known as credentials‑on‑file (COF) or card‑on‑file
transactions, are payments that either store a customer’s payment credentials for future
use or use previously stored credentials to complete a transaction. All COF transactions
begin with a customer-initiated transaction, in which the customer actively
participates, such as a card‑present purchase, online checkout, or use of a stored
credential.
Benefits of Credentialed Transactions
Merchants following the stored credentials framework experience these benefits:
- Better visibility into transaction risk.
- Improved authorization success rates.
- A smoother customer experience.
- Fewer disputes and customer complaints.
- Use of Real Time Visa Account Updater for fresher card details.
For more information on the stored credentials framework, see Improving Authorization Management for Transactions
with Stored Credentials.
Types of Credentialed Transactions
There are several types of credentialed transactions:
- Customer-initiated transaction (CIT):During a CIT, customers can elect to have their credentials stored for future CITs or for merchant‑initiated transactions (MITs).OnNational Payment Gateway, CITs are also referred to as registering the card.
- Merchant-initiated transaction (MIT):A MIT is processed without the customer’s active involvement and include these transactions:
- Industry practice transaction:This MIT is performed as a subsequent transaction to a CIT because the initial transaction could not be completed in one transaction. Not every industry practice transaction involves a stored credential. If a stored credential is used only for one transaction, that transaction is not considered a credentialed transaction.
- Standing instruction transactions:This MIT is performed to follow agreed-upon instructions from the customer for the provision of goods and services.
Industry Practice Transactions
Industry practice transactions are MITs performed as follow‑on actions to a previous CIT.
Although not all of them require stored credentials, repeated use of credentials
qualifies them as COF transactions.
These industry practice transactions and industry examples are available with your
processor:
- Delayed charges: Used to add charges after the initial transaction is complete. Examples: hotels (minibar, damages), car rentals (tolls), travel (post-trip charges), and health and wellness add-ons.
- Reauthorizations: Used when an authorization expires before fulfillment. Examples: long hotel stays, extended rental agreements, multi-week equipment rentals, and delayed subscription boxes.
- Resubmissions: Used when a previous authorization attempt fails. Examples: utility auto-pay retries, telecom billing, insurance premiums, and online membership renewals.
- No-shows: Used when a customer fails to appear for a reserved service for these industries: hotels, rentals, healthcare missed appointments, and restaurant reservation deposits.
Business Center Transactions
Business Center
TransactionsYou can create an industry practice transaction in the
Business Center
by
requesting a new authorization. Go to the Transaction Management section and confirm
that the new authorization is a MIT. Choose one of these reasons for the
authorization, which are not applicable for all processors:- Account Top Up
- Delayed Charges
- No Show
- Reauthorization
- Resubmission
This process requires you to have already stored the customer's credentials from a
previous customer-initiated transaction. For more information on storing a
customer's credentials in the
Business Center
, see Customer-Initiated Transactions with Credentials on File.To create an incremental
transaction in the
Business Center
, choose one of these options: - Account Top Up
- No Show
Standing Instruction Transactions
Standing instruction transactions are MITs that rely on stored credentials and follow
agreed‑upon customer instructions for scheduled or ongoing payments. These transactions
must comply with the stored credentials framework, which ensures secure storage and use
of customer payment data. All standing instruction transactions begin with a CIT, when
customers elect to store their credentials.
On
National Payment Gateway
the first payment is authenticated using 3-D Secure
, so that the liability for that transaction rests with the card issuer. For the follow‑up merchant‑initiated
charges, liability shifts to your acquirer.These standing instruction transactions and industry examples are available with your
processor:
- Installments: A fixed purchase that is split into multiple scheduled payments for these industries:
- Retail and electronics: installment plans for device purchases
- Furniture and home goods: multi‑month payment plans
- Education: tuition installment schedules
- Healthcare financing: payment plans for procedures
- Recurring: Repeated charges for ongoing services for these industries:
- Streaming services: video, music, gaming subscriptions
- Fitness and wellness: gym memberships, coaching subscriptions
- Insurance: monthly premiums
- Software and SaaS: business application licenses
- Unscheduled COF: Occasional, non‑scheduled charges that are made under a customer authorization for these industries:
- Rideshare and transportation: cleaning fees, damage fees
- Home services: irregular invoice-based jobs, such as repairs
- Professional services: unplanned billable hours or fees
- E‑commerce: back-order fulfillment outside a schedule
Requirements for Standing Instruction Transactions
Merchants who offer stored credentials must:
- Disclose to cardholders how their credentials will be used.
- Obtain the customer's consent to store their credentials.
- Notify customers when the terms of use change.
- Inform the card issuer during an authorization that the credentials are stored on file.
- Identify all transactions that use stored credentials.
Recurring Billing for Recurring Payments
If you are using the Recurring Billing service, do not use this document.
Cybersource
saves and stores payment credentials for recurring transactions,
ensuring compliance with COF best practices. For more information on Recurring Billing, see .
National Payment Gateway Transactions and Card Types
National Payment Gateway
Transactions and Card TypesThese are the stored credential transaction and card types available on
National Payment Gateway
:Transaction Type | mada | Mastercard | Visa |
|---|---|---|---|
Initial CIT to register a card | Yes | Yes | Yes |
Subsequent CIT with a PAN | Yes | Yes | Yes |
Installment CIT with a PAN | NA | Yes | Yes |
Installment MIT | NA | Yes | Yes |
Recurring Initial CIT | Yes | Yes | Yes |
Recurring Subsequent MIT | Yes | Yes | Yes |
Unscheduled CIT | Yes | Yes | Yes |
Unscheduled MIT | Yes | Yes | Yes |
Delayed Charges | NA | Yes | Yes |
No Show MIT | NA | Yes | Yes |
Reauthorization | NA | Yes | Yes |
Resubmission | NA | Yes | Yes |
TMS subsequent CIT | Yes | Yes | Yes |
TMS subsequent MIT | Yes | Yes | Yes |
TMS token creation CIT | Yes | Yes | Yes |
Customer-Initiated Transactions with Credentials on
File
A customer-initiated transaction (CIT) is a transaction initiated by the customer. There
are two types of CITs:
- Customer transactions during which the credentials are stored for futurecustomer-initiated transactions.
- Customer transactions during which the credentials are stored for futuremerchant-initiated transactions.
Customers can initiate a CIT at a merchant payment terminal, through an online purchase
transaction, or by making a purchase using a previously stored credential. When storing
cardholder data for a CIT, you must also include 3-D Secure authentication credentials
to ensure that the CIT can successfully process. Authentication credentials can be
stored for future use with the card credentials by doing a non-payment authentication
(NPA).
Business Center
Business Center
You can create a new customer-initiated transaction in the
Business Center
by
going to the One-Time Payments section and requesting a new authorization. When you
have entered the customer's information, you can store the customer's credentials
with the customer's permission in the Payment Information section. By doing so, you
can perform merchant-initiated transactions for payments that the customer has
pre-approved. Storing Customer Credentials with a CIT and PAN
Before you can perform a merchant-initiated transaction (MIT) or a customer-initiated
transaction (CIT) with credentials-on-file (COF), you must store the customer's
credentials for later use. Further, before you can store the user's credentials, you
must get the customer's consent to store their private information. This is also known
as establishing a relationship with the customer.
Processor-Specific Information
National Payment Gateway
requires payer authentication data in customer-initiated transactions.When the domestic scheme directory server for mada cards is not available and
authentication falls back to the global scheme directory server, the authentication
brand response field indicates which directory server was used during the
authentication process.
Endpoint
Production:
POST
https://api.sa.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.sa.cybersource.com
/pts/v2/paymentsRequired Fields for Storing Customer Credentials During a CIT
REST Example: Storing Customer Credentials During a mada Card
CIT Payment with 3-D Secure
3-D Secure
Request
This example includes optional fields.
{ "clientReferenceInformation": { "code": "SPG_REQ_02" }, "consumerAuthenticationInformation": { "cavv": "EHuWW9PiBkWvqE5juRwDzAUFBAk=", "dsReferenceNumber": "dsReferenceNumber-3DS-mada123", "paresStatus": "Y", "acsReferenceNumber": "3DS_LOA_ACS_201_13579", "paSpecificationVersion": "2", "authenticationDate": "20230413121212", "directoryServerTransactionId": "f25084f0-5b16-4c0a-ae5d-b24808a95e4b", "acsTransactionId": "f25084f0-5b16-4c0a-ae5d-b248083334b2" }, "processingInformation": { "commerceIndicator": "mada", "authorizationOptions": { "initiator": { "credentialStoredOnFile": true } }, "capture": true }, "orderInformation": { "billTo": { "firstName": "Abdullah", "lastName": "Muhammad", "phoneNumber": "01-4844094", "address2": "P.O.Box: 16335", "address1": "Al Dariyah Dist.", "postalCode": "22028", "email": "" }, "amountDetails": { "totalAmount": "100", "currency": "SAR" } }, "merchantInformation": { "categoryCode": 5411, "merchantDescriptor": { "country": "SA", "address1": "API Address", "postalCode": "12987-7318", "locality": "Riyadh", "name": "API Merchant-Name1" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "CARD_NUMBER", "securityCode": "123", "expirationMonth": "12", "type": "060" } } }
Response to a Successful Request
{ "paymentInformation": { "bin": "968208", "issuer": "Al Bank Al Saudi Al Fransi", "binCountry": "SA", "cardBrand": "MADA", "cardType": "PREPAID" }, "paymentAccountInformation": { "card": { "currency": "SAR", "type": "060" } }, "orderInformation": { "amountDetails": { "currency": "SAR", "authorizedAmount": "100.00" } }, "processorInformation": { "approvalCode": "830SPG", "retrievalReferenceNumber": "334210123456", "cardVerification": { "resultCode": "M", "resultCodeRaw": "M" }, "responseCode": "00", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "settlementDate": "220915" }, "_links": { "self": { "method": "GET", "href": "/pts/v2/payments/7020303222541234567890" }, "refund": { "method": "POST", "href": "/pts/v2/payments/7020303222541234567890/refunds" } }, "clientReferenceInformation": { "code": "TC_SPG_BASIC-1" }, "consumerAuthenticationInformation": { "token": "abc" }, "reconciliationId": "7020303222541234567890", "status": "COMPLETED", "id": "7020303222541234567890", "submitTimeUtc": "2023-12-08T10:12:02Z" }
Storing Customer Credentials with a CIT and TMS
TMS
Before you can perform a merchant-initiated transaction (MIT) or a customer-initiated
transaction (CIT) with credentials-on-file (COF), you must get the customer's consent to store their payment credentials. This is also known as establishing a relationship with the customer. After you have their consent, you can store their payment credentials for later use.
Creating a TMS Token
TMS
TokenWhen sending the initial CIT, you can create a
TMS
token to
store the customer's credentials for the subsequent MITs. To create a TMS
token, include the
processingInformation.actionTokenTypes
field in the
authorization request. Set the field to one of these values based on the TMS
token type you want to create: - Customer
- Customer tokens store one or more customer payment instrument tokens and shipping address tokens.
- Including a customer token in subsequent MITs eliminates the need to include billing information, card information, and the previous transaction's ID.
- "processingInformation": { "actionTokenTypes": [ "customer" ]
- For more information about thisTMStoken type, see Customer Tokens in the.Token Management ServiceDeveloper Guide
- Payment Instrument
- Payment instrument tokens store an instrument identifier token, card information, and billing information. Payment instruments are not linked to a customer token. Including a payment instrument in subsequent MITs eliminates the need to include billing information, card information, and the previous transaction's ID.
- "processingInformation": { "actionTokenTypes": [ "paymentInstrument" ]
- For more information about thisTMStoken type, see Payment Instrument Token in the.Token Management ServiceDeveloper Guide
- Instrument Identifier
- Instrument identifier tokens store a PAN. Including an instrument identifier in subsequent MITs eliminates the need to include a PAN and the previous transaction's ID.
- "processingInformation": { "actionTokenTypes": [ "instrumentIdentifier" ]
- For more information about this TMS token type, see Instrument Identifier Token in the.Token Management ServiceDeveloper Guide
- Instrument Identifier, Payment Instrument, and Customer Identifier
- You can also create multipleTMStoken types in the same authorization. This example includes an instrument identifier, a payment instrument, and a customer token in the same authorization:
- "processingInformation": { "actionTokenTypes": [ "instrumentIdentifier", "paymentInstrument", "customer" ]
Processor-Specific Information
National Payment Gateway
requires payer authentication data in customer-initiated transactions.When the domestic scheme directory server for mada cards is not available and
authentication falls back to the global scheme directory server, the authentication
brand response field indicates which directory server was used during the
authentication process.
Endpoint
Production:
POST
https://api.sa.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.sa.cybersource.com
/pts/v2/paymentsRequired Fields for Storing Customer Credentials with a
CIT and TMS
TMS
- Set the value toSAR.
- processingInformation.authorizationOptions.i.initiator. merchantInitiatedTransaction.agreementId
REST Example: Storing Customer Credentials with a mada Card CIT and TMS
Request
This example includes optional fields.
{ "clientReferenceInformation": { "code": "SPG_REQ_05" }, "recurringPaymentInformation": { "amountType": "0", "numberOfPayments": 3, "type": "1" }, "consumerAuthenticationInformation": { "cavv": "EHuWW9PiBkWvqE5juRwDzAUFBAk=", "dsReferenceNumber": "dsReferenceNumber-3DS-mada123", "paresStatus": "Y", "acsReferenceNumber": "3DS_LOA_ACS_201_13579", "paSpecificationVersion": "2", "authenticationDate": "20230413121212", "directoryServerTransactionId": "f25084f0-5b16-4c0a-ae5d-b24808a95e4b", "acsTransactionId": "f25084f0-5b16-4c0a-ae5d-b248083334b2" }, "processingInformation": { "actionList": [ "TOKEN_CREATE" ], "actionTokenTypes": [ "instrumentIdentifier" ], "authorizationOptions": { "initiator": { "merchantInitiatedTransaction": { "agreementId": "AgreementId123$" } } }, "capture": true }, "orderInformation": { "billTo": { "firstName": "Abdullah", "lastName": "Muhammad", "phoneNumber": "01-4844094", "address2": "P.O.Box: 16335", "address1": "Al Dariyah Dist.", "postalCode": "22028", "email": "test-email" }, "amountDetails": { "totalAmount": "100", "currency": "SAR" } }, "merchantInformation": { "categoryCode": 5411, "merchantDescriptor": { "country": "SA", "address1": "API Address", "postalCode": "12987-7318", "locality": "Riyadh", "name": "API Merchant-Name1" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "CARD_NUMBER", "securityCode": "123", "expirationMonth": "12", "type": "060" } } }
Response to a Successful Request
{ "embeddedActions": { "TOKEN_CREATE": { "status": "SUCCESS" } }, "paymentInformation": { "bin": "968208", "issuer": "Al Bank Al Saudi Al Fransi", "binCountry": "SA", "cardBrand": "MADA", "cardType": "060" }, "paymentAccountInformation": { "card": { "currency": "SAR", "type": "060" } }, "submitTimeUtc": "2025-03-14T07:23:16Z", "orderInformation": { "amountDetails": { "currency": "SAR", "authorizedAmount": "100.00" } }, "processorInformation": { "paymentAccountReferenceNumber": "eEwx4ntjEC8Z3KsRUrwxBUv1lEoRw", "approvalCode": "830SPG", "retrievalReferenceNumber": "507307221963", "cardVerification": { "resultCode": "M", "resultCodeRaw": "M" }, "responseCode": "00", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "settlementDate": "220915" }, "_links": { "self": { "method": "GET", "href": "/pts/v2/payments/7419369960413859587223" }, "refund": { "method": "POST", "href": "/pts/v2/payments/7419369960413859587223/refunds" } }, "clientReferenceInformation": { "code": "TC_SPG_FE_MD-6" }, "consumerAuthenticationInformation": { "token": "7419369960413859587223" }, "reconciliationId": "7419369960413859587223", "id": "7419369960413859587223", "status": "COMPLETED", "tokenInformation": { "instrumentIdentifierNew": false, "instrumentIdentifier": { "id": "7010020000025033240", "state": "ACTIVE" } } }
Using Stored Customer Credentials During a CIT
After customers store their credentials on file, you can retrieve these credentials to
use with subsequent transactions when the customer is present.
Processor-Specific Information
National Payment Gateway
requires payer authentication data in customer-initiated transactions.When the domestic scheme directory server for mada cards is not available and
authentication falls back to the global scheme directory server, the authentication
brand response field indicates which directory server was used during the
authentication process.
Endpoint
Production:
POST
https://api.sa.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.sa.cybersource.com
/pts/v2/paymentsRequired Fields for Using Customer Credentials During a
CIT
- Set this value toSAR.
REST Example: Using Customer Credentials During a mada Card
CIT and 3-D Secure
3-D Secure
Request
This example includes optional fields.
{ "clientReferenceInformation": { "code": "SPG_REQ_08" }, "consumerAuthenticationInformation": { "cavv": "EHuWW9PiBkWvqE5juRwDzAUFBAk=", "dsReferenceNumber": "dsReferenceNumber-3DS-mada123", "paresStatus": "Y", "acsReferenceNumber": "3DS_LOA_ACS_201_13579", "paSpecificationVersion": "2", "authenticationDate": "20230413121212", "directoryServerTransactionId": "f25084f0-5b16-4c0a-ae5d-b24808a95e4b", "acsTransactionId": "f25084f0-5b16-4c0a-ae5d-b248083334b2" }, "processingInformation": { "commerceIndicator": "mada", "authorizationOptions": { "initiator": { "storedCredentialUsed": true } }, "capture": true, "originalPaymentId": "7429098456261234567890" }, "orderInformation": { "billTo": { "firstName": "Abdullah", "lastName": "Muhammad", "phoneNumber": "01-4844094", "address2": "P.O.Box: 16335", "address1": "Al Dariyah Dist.", "postalCode": "22028", "email": "" }, "amountDetails": { "totalAmount": "100", "currency": "SAR" } }, "merchantInformation": { "categoryCode": 5411, "merchantDescriptor": { "country": "SA", "address1": "API Address", "postalCode": "12987-7318", "locality": "Riyadh", "name": "API Merchant-Name1" } }, "paymentInformation": { "instrumentIdentifier": { "id": "7010000000026973240" }, "card": { "expirationYear": "2031", "securityCode": "123", "expirationMonth": "12", "type": "060" } } }
Response to a Successful Request
{ "paymentInformation": { "bin": "968208", "issuer": "Al Bank Al Saudi Al Fransi", "binCountry": "SA", "cardBrand": "MADA", "cardType": "060", "instrumentIdentifier": { "id": "7010020000025033240", "state": "ACTIVE" } }, "paymentAccountInformation": { "card": { "currency": "SAR", "type": "060" } }, "submitTimeUtc": "2025-03-14T07:23:40Z", "orderInformation": { "amountDetails": { "currency": "SAR", "authorizedAmount": "100.00" } }, "processorInformation": { "paymentAccountReferenceNumber": "Xnaq8RrWXaCgPOrFAeaZiqLqO0bh2", "approvalCode": "830SPG", "retrievalReferenceNumber": "507307221975", "cardVerification": { "resultCode": "M", "resultCodeRaw": "M" }, "responseCode": "00", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "settlementDate": "220915" }, "_links": { "self": { "method": "GET", "href": "/pts/v2/payments/7419370205653628689958" }, "refund": { "method": "POST", "href": "/pts/v2/payments/7419370205653628689958/refunds" } }, "clientReferenceInformation": { "code": "TC_SPG_FE_MD-11" }, "consumerAuthenticationInformation": { "token": "7419370205653628689958" }, "reconciliationId": "7419370205653628689958", "id": "7419370205653628689958", "status": "COMPLETED", "tokenInformation": { "instrumentIdentifierNew": false, "instrumentIdentifier": { "id": "7010020000025033240", "state": "ACTIVE" } }, "embeddedActions": { "TOKEN_RETRIEVE": { "status": "SUCCESS" } } }
Delayed Transaction
Delayed charge transaction is performed to process a supplemental
account charge after original services have been rendered and respective payment has
been processed.
This section describes how to process a merchant-initiated delayed transaction, also
known as a delayed charge, using these payment types:
Merchant-Initiated Delayed Transaction with PAN
Delayed charge transaction is performed to process a supplemental
account charge after original services have been rendered and respective payment has
been processed.
Endpoint
Production:
POST
https://api.sa.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.sa.cybersource.com
/pts/v2/paymentsRequired Fields for a Merchant-Initiated Delayed Transaction
- Set the value toSAR.
- processingInformation.authorizationOptions.initiator.merchantInitiatedTransaction.reason
- Set the value to2.
- processingInformation.authorizationOptions.initiator.storedCredentialUsed
- Set the value totrue.
- Set the value tomerchant.
REST Example: Merchant-Initiated Delayed Authorization
Request
This example includes optional fields.
{ "clientReferenceInformation" : { "code" : "TC_SPG_FE_MC-2" }, "processingInformation" : { "authorizationOptions" : { "initiator" : { "type" : "merchant", "merchantInitiatedTransaction" : { "reason":"2" }, "storedCredentialUsed" : true } }, "originalPaymentId" : "7648576824101234567890", "industryDataType" : "restaurant" }, "orderInformation" : { "billTo" : { "firstName" : "Abdullah", "lastName" : "Muhammad", "phoneNumber" : "01-4844094", "address2" : "(PO)Box 16335", "address1" : "Al Dariyah Dist", "postalCode" : "22028", "email" : "" }, "amountDetails" : { "totalAmount" : "407.01", "currency" : "SAR" } }, "merchantInformation" : { "categoryCode" : 4999, "merchantDescriptor" : { "country" : "SA", "address1" : "Kharj Road", "postalCode" : "12211", "locality" : "Riyadh", "name" : "Al Madina" } }, "paymentInformation" : { "card" : { "expirationYear" : "2026", "number" : "CARD_NUMBER", "expirationMonth" : "12", "type" : "002" } } }
Response to a Successful Request
{ "paymentInformation": { "bin": "411111", "issuer": "CONOTOXIA SP. Z O.O", "binCountry": "PL", "accountType": "Visa Classic", "cardBrand": "VISA", "cardType": "001" }, "submitTimeUtc": "2025-12-04T14:15:01Z", "processorInformation": { "paymentAccountReferenceNumber": "xseGf5M4hG52ucScqGbeYYuS0QTOb", "approvalCode": "830SPG", "transactionId": "kWwN7pwczS2aXrQ", "merchantAdvice": { "code": "01", "codeRaw": "01" }, "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "cardVerification": { "resultCodeRaw": "N", "resultCode": "N" }, "settlementDate": "220915", "avs": { "code": "M", "codeRaw": "M" }, "retrievalReferenceNumber": "533802000286", "responseCode": "00" }, "_links": { "self": { "method": "GET", "href": "/pts/v2/payments/7648577009261234567890/captures" }, "refund": { "method": "POST", "href": "/pts/v2/payments/7648577009261234567890/refunds" }, "void": { "method": "POST", "href": "/pts/v2/captures/7648577009261234567890/voids" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "clientReferenceInformation": { "code": "TC_SPG_FE_VI-1" }, "consumerAuthenticationInformation": { "token": "7648577009261234567890" }, "id": "7648577009261234567890", "orderInformation": { "amountDetails": { "currency": "SAR", "authorizedAmount": "20100.00", "totalAmount": "20100.00" } }, "reconciliationId": "7648577009261234567890", "status": "PENDING", "embeddedActions": { "CAPTURE": { "status": "PENDING" } } }
Reauthorization Transaction
A reauthorization occurs when the completion or fulfillment of the
original order or service extends beyond the authorized amount time limit. There are two
common reauthorization scenarios:
- Split or delayed shipments by a retailer
- Extended car rentals, hotel stays, or cruise line bookings
Merchant-Initiated Reauthorization Transaction with
PAN
A reauthorization occurs when the completion or fulfillment of the
original order or service extends beyond the authorized amount time limit. There are two
common reauthorization scenarios:
- Split or delayed shipments by a retailer
- Extended car rentals, hotel stays, or cruise line bookings
Endpoint
Production:
POST
https://api.sa.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.sa.cybersource.com
/pts/v2/paymentsRequired Fields for a Merchant-Initiated Reauthorized Transaction
REST Example: Merchant-Initiated Reauthorized Transaction
Request
This example includes optional fields.
{ "clientReferenceInformation" : { "code" : "TC_SPG_FE_MC-2" }, "processingInformation" : { "authorizationOptions" : { "initiator" : { "type" : "merchant", "merchantInitiatedTransaction" : { "reason":"3" }, "storedCredentialUsed" : true } }, "originalPaymentId" : "7648576824101234567890", "industryDataType" : "restaurant" }, "orderInformation" : { "billTo" : { "firstName" : "Abdullah", "lastName" : "Muhammad", "phoneNumber" : "01-4844094", "address2" : "(PO)Box 16335", "address1" : "Al Dariyah Dist", "postalCode" : "22028", "email" : "" }, "amountDetails" : { "totalAmount" : "407.01", "currency" : "SAR" } }, "merchantInformation" : { "categoryCode" : 4999, "merchantDescriptor" : { "country" : "SA", "address1" : "Kharj Road", "postalCode" : "12211", "locality" : "Riyadh", "name" : "Al Madina" } }, "paymentInformation" : { "card" : { "expirationYear" : "2026", "number" : "CARD_NUMBER", "expirationMonth" : "12", "type" : "002" } } }
Response to a Successful Request
{ "paymentInformation": { "bin": "411111", "issuer": "CONOTOXIA SP. Z O.O", "binCountry": "PL", "accountType": "Visa Classic", "cardBrand": "VISA", "cardType": "001" }, "submitTimeUtc": "2025-12-04T14:15:01Z", "processorInformation": { "paymentAccountReferenceNumber": "xseGf5M4hG52ucScqGbeYYuS0QTOb", "approvalCode": "830SPG", "transactionId": "kWwN7pwczS2aXrQ", "merchantAdvice": { "code": "01", "codeRaw": "01" }, "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "cardVerification": { "resultCodeRaw": "N", "resultCode": "N" }, "settlementDate": "220915", "avs": { "code": "M", "codeRaw": "M" }, "retrievalReferenceNumber": "533802000286", "responseCode": "00" }, "_links": { "self": { "method": "GET", "href": "/pts/v2/payments/7648577009261234567890/captures" }, "refund": { "method": "POST", "href": "/pts/v2/payments/7648577009261234567890/refunds" }, "void": { "method": "POST", "href": "/pts/v2/captures/7648577009261234567890/voids" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "clientReferenceInformation": { "code": "TC_SPG_FE_VI-1" }, "consumerAuthenticationInformation": { "token": "7648577009261234567890" }, "id": "7648577009261234567890", "orderInformation": { "amountDetails": { "currency": "SAR", "authorizedAmount": "20100.00", "totalAmount": "20100.00" } }, "reconciliationId": "7648577009261234567890", "status": "PENDING", "embeddedActions": { "CAPTURE": { "status": "PENDING" } } }
Resubmission Transaction
A resubmission transaction is an authorization that you resubmit to recover an outstanding debt from the customer. A common scenario is when a card was initially declined due to insufficient funds, but the goods or services were already delivered to the customer.
You can request the resubmission transaction with a PAN or a TMS token.
Merchant-Initiated Resubmission Transaction with PAN
A resubmission transaction is an authorization that you resubmit to recover an outstanding debt from the customer. A common scenario is when a card was initially declined due to insufficient funds, but the goods or services were already delivered to the customer.
Endpoint
Production:
POST
https://api.sa.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.sa.cybersource.com
/pts/v2/paymentsRequired Fields for a Merchant-Initiated Resubmitted Transaction
REST Example: Merchant-Initiated Resubmission Transaction with PAN
Request
This example includes optional fields.
{ "clientReferenceInformation" : { "code" : "TC_SPG_FE_MC-2" }, "processingInformation" : { "authorizationOptions" : { "initiator" : { "type" : "merchant", "merchantInitiatedTransaction" : { "reason":"1" }, "storedCredentialUsed" : true } }, "originalPaymentId" : "7648576824101234567890", "industryDataType" : "restaurant" }, "orderInformation" : { "billTo" : { "firstName" : "Abdullah", "lastName" : "Muhammad", "phoneNumber" : "01-4844094", "address2" : "(PO)Box 16335", "address1" : "Al Dariyah Dist", "postalCode" : "22028", "email" : "test-email" }, "amountDetails" : { "totalAmount" : "407.01", "currency" : "SAR" } }, "merchantInformation" : { "categoryCode" : 4999, "merchantDescriptor" : { "country" : "SA", "address1" : "Kharj Road", "postalCode" : "12211", "locality" : "Riyadh", "name" : "Al Madina" } }, "paymentInformation" : { "card" : { "expirationYear" : "2026", "number" : "CARD_NUMBER", "expirationMonth" : "12", "type" : "002" } } }
Response to a Successful Request
{ "paymentInformation": { "bin": "411111", "issuer": "CONOTOXIA SP. Z O.O", "binCountry": "PL", "accountType": "Visa Classic", "cardBrand": "VISA", "cardType": "001" }, "submitTimeUtc": "2025-12-04T14:15:01Z", "processorInformation": { "paymentAccountReferenceNumber": "xseGf5M4hG52ucScqGbeYYuS0QTOb", "approvalCode": "830SPG", "transactionId": "kWwN7pwczS2aXrQ", "merchantAdvice": { "code": "01", "codeRaw": "01" }, "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "cardVerification": { "resultCodeRaw": "N", "resultCode": "N" }, "settlementDate": "220915", "avs": { "code": "M", "codeRaw": "M" }, "retrievalReferenceNumber": "533802000286", "responseCode": "00" }, "_links": { "self": { "method": "GET", "href": "/pts/v2/payments/7648577009261234567890/captures" }, "refund": { "method": "POST", "href": "/pts/v2/payments/7648577009261234567890/refunds" }, "void": { "method": "POST", "href": "/pts/v2/captures/7648577009261234567890/voids" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "clientReferenceInformation": { "code": "TC_SPG_FE_VI-1" }, "consumerAuthenticationInformation": { "token": "7648577009261234567890" }, "id": "7648577009261234567890", "orderInformation": { "amountDetails": { "currency": "SAR", "authorizedAmount": "20100.00", "totalAmount": "20100.00" } }, "reconciliationId": "7648577009261234567890", "status": "PENDING", "embeddedActions": { "CAPTURE": { "status": "PENDING" } } }
No-Show Transactions
A no-show authorization occurs when a merchant charges a customer after
the customer makes a reservation, and does not show up to claim the reservation. In this
situation, the customer is charged an agreed upon fee for not showing up as
expected.
Merchant-Initiated No-Show Transaction with PAN
A no-show authorization occurs when a merchant charges a customer after
the customer makes a reservation, and does not show up to claim the reservation. In this
situation, the customer is charged an agreed upon fee for not showing up as
expected.
Endpoint
Production:
POST
https://api.sa.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.sa.cybersource.com
/pts/v2/paymentsRequired Fields for a Merchant-Initiated No-Show Charges
- unscheduledPaymentInformation.type
REST Example: Merchant-Initiated No-Show Transaction with a
PAN
Request
This example includes optional fields.
{ "clientReferenceInformation" : { "code" : "TC_SPG_FE_MC-2" }, "processingInformation" : { "authorizationOptions" : { "initiator" : { "type" : "merchant", "merchantInitiatedTransaction" : { "reason":"4" }, "storedCredentialUsed" : true } }, "originalPaymentId" : "7648576824101234567890", "industryDataType" : "restaurant" }, "orderInformation" : { "billTo" : { "firstName" : "Abdullah", "lastName" : "Muhammad", "phoneNumber" : "01-4844094", "address2" : "(PO)Box 16335", "address1" : "Al Dariyah Dist", "postalCode" : "22028", "email" : "" }, "amountDetails" : { "totalAmount" : "407.01", "currency" : "SAR" } }, "merchantInformation" : { "categoryCode" : 4999, "merchantDescriptor" : { "country" : "SA", "address1" : "Kharj Road", "postalCode" : "12211", "locality" : "Riyadh", "name" : "Al Madina" } }, "paymentInformation" : { "card" : { "expirationYear" : "2026", "number" : "CARD_NUMBER", "expirationMonth" : "12", "type" : "002" } } }
Response to a Successful Request
{ "paymentInformation": { "bin": "411111", "issuer": "CONOTOXIA SP. Z O.O", "binCountry": "PL", "accountType": "Visa Classic", "cardBrand": "VISA", "cardType": "001" }, "submitTimeUtc": "2025-12-04T14:15:01Z", "processorInformation": { "paymentAccountReferenceNumber": "xseGf5M4hG52ucScqGbeYYuS0QTOb", "approvalCode": "830SPG", "transactionId": "kWwN7pwczS2aXrQ", "merchantAdvice": { "code": "01", "codeRaw": "01" }, "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "cardVerification": { "resultCodeRaw": "N", "resultCode": "N" }, "settlementDate": "220915", "avs": { "code": "M", "codeRaw": "M" }, "retrievalReferenceNumber": "533802000286", "responseCode": "00" }, "_links": { "self": { "method": "GET", "href": "/pts/v2/payments/7648577009261234567890/captures" }, "refund": { "method": "POST", "href": "/pts/v2/payments/7648577009261234567890/refunds" }, "void": { "method": "POST", "href": "/pts/v2/captures/7648577009261234567890/voids" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "clientReferenceInformation": { "code": "TC_SPG_FE_VI-1" }, "consumerAuthenticationInformation": { "token": "7648577009261234567890" }, "id": "7648577009261234567890", "orderInformation": { "amountDetails": { "currency": "SAR", "authorizedAmount": "20100.00", "totalAmount": "20100.00" } }, "reconciliationId": "7648577009261234567890", "status": "PENDING", "embeddedActions": { "CAPTURE": { "status": "PENDING" } } }
Installment Payments
An installment payment is a single purchase of goods or services billed to a customer in
multiple transactions over a period of time agreed to by you and the customer. The agreement
enables you to charge a specific amount at specified intervals.
Installments Service for Installment Payments
IMPORTANT
Do not use this document if you are using the Installments service. When
using the Installments service,
Cybersource
saves and stores payment
credentials for installment transactions, ensuring compliance with COF best practices. Customer-Initiated Installment Payments with PAN
An installment payment is a single purchase of goods or services
billed to a customer in multiple transactions over a period of time agreed to by you
and the customer, and sometimes, the issuing bank. The agreement enables you to
charge a specific amount at specified intervals. For customers, installment payments
provide greater purchasing power and lower impact on their monthly budget. For you,
offering installment payments at checkout can help increase the number of
successfully completed purchases.
Before you can accept installment payments, you and your
acquirer must agree on the maximum number of installments you can accept, which can
be different for each card type.
IMPORTANT
Do not use this document if you are using the
Installments service. When using the Installments service,
Cybersource
saves and stores payment credentials for installment transactions, ensuring
compliance with COF best practices. Endpoint
Production:
POST
https://api.sa.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.sa.cybersource.com
/pts/v2/paymentsSuccessful Response
Store the
network transaction ID
, which is the processorInformation.networkTransactionId
field value, from the
successful response message. You must include the network transaction ID in
subsequent MIT authorization requests in order to associate the CIT to the MIT.Required Fields for Initial Customer-Initiated Installment Payment with a PAN
- Set the value toSAR.
- processingInformation.authorizationOptions.i.initiator. merchantInitiatedTransaction.agreementId
REST Example: Initial Customer-Initiated Installment Payment
with a Mastercard PAN and 3-D Secure
3-D Secure
Request
This example includes optional fields.
{ "clientReferenceInformation" : { "code" : "TC_SPG_FE_MC-2" }, "consumerAuthenticationInformation" : { "paresStatus" : "Y", "acsReferenceNumber" : "3DS_LOA_ACS_201_13579", "authenticationDate" : "20230413121212", "ucafCollectionIndicator" : "2", "ucafAuthenticationData" : "EHuWW9PiBkWvqE5juRwDzAUFBAk=", "directoryServerTransactionId" : "f25084f05b164c0aae5db24808a95e4b", "specificationVersion" : "2", "acsTransactionId" : "f25084f0-5b16-4c0a-ae5d-b248083334b2" }, "processingInformation" : { "commerceIndicator" : "spa", "authorizationOptions" : { "initiator" : { "credentialStoredOnFile" : true, "merchantInitiatedTransaction" : { "agreementId" : "MIT Agreement-Id_123$" } } }, "capture" : true, "industryDataType" : "auto_rental" }, "aggregatorInformation" : { "subMerchant" : { "id" : "SubMerId123" } }, "orderInformation" : { "billTo" : { "firstName" : "Abdullah", "lastName" : "Muhammad", "phoneNumber" : "01-4844094", "address2" : "(PO)Box 16335", "address1" : "Al Dariyah Dist", "postalCode" : "22028", "email" : "" }, "amountDetails" : { "totalAmount" : "406.01", "currency" : "SAR" } }, "merchantInformation" : { "categoryCode" : 4999, "merchantDescriptor" : { "country" : "SA", "address1" : "Kharj Road", "postalCode" : "12211", "locality" : "Riyadh", "name" : "Al Madina" } }, "paymentInformation" : { "card" : { "expirationYear" : "2026", "number": "CARD_NUMBER", "securityCode" : "123", "expirationMonth" : "12", "type" : "002" } }, "installmentInformation" : { "amount" : "210", "totalCount" : 3, "paymentType" : "1" } }
Response to a Successful Request
{ "paymentInformation": { "bin": "555555", "issuer": "CONOTOXIA SP. Z O.O", "binCountry": "PL", "accountType": "MASTERCARD", "cardBrand": "MASTERCARD", "cardType": "002" }, "submitTimeUtc": "2025-08-28T11:40:39Z", "processorInformation": { "paymentAccountReferenceNumber": "8atcUKA55teOnsvajmkfaY8Rosg2Z", "approvalCode": "830SPG", "transactionId": "WsPI4kVYXSlXPPK", "merchantAdvice": { "code": "01", "codeRaw": "01" }, "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "cardVerification": { "resultCodeRaw": "N", "resultCode": "N" }, "settlementDate": "220915", "avs": { "code": "M", "codeRaw": "M" }, "retrievalReferenceNumber": "524011500230", "responseCode": "00" }, "_links": { "self": { "method": "GET", "href": "/pts/v2/payments/7563812390036731704807/captures" }, "refund": { "method": "POST", "href": "/pts/v2/payments/7563812390036731704807/refunds" }, "void": { "method": "POST", "href": "/pts/v2/captures/7563812390036731704807/voids" } }, "paymentAccountInformation": { "card": { "type": "002" } }, "clientReferenceInformation": { "code": "TC_SPG_FE_VI-1" }, "consumerAuthenticationInformation": { "token": "7563812390036731704807", "eciRaw": "05A" }, "id": "7563812390036731704807", "orderInformation": { "amountDetails": { "currency": "SAR", "authorizedAmount": "20100.00", "totalAmount": "20100.00" } }, "reconciliationId": "7563812390036731704807", "status": "PENDING", "embeddedActions": { "CAPTURE": { "status": "PENDING" } } }
Merchant-Initiated Installment Payments with PAN
After the initial CIT installment payment, subsequent installment payments are
merchant-initiated transactions (MITs).
Prerequisites
The first transaction in an installment payment is a
customer-initiated
transaction
(CIT). Before you can perform a subsequent merchant-initiated
transaction
(MIT), you must store the customer's credentials for later use.
Before you can store the user's credentials, you must get the customer's consent to
store their private information. This process is also known as establishing a
relationship with the customer.Endpoint
Production:
POST
https://api.sa.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.sa.cybersource.com
/pts/v2/paymentsRequired Fields for a Merchant-Initiated Subsequent Installment Payment
- Set the value toSAR.
- processingInformation.authorizationOptions.i.initiator. merchantInitiatedTransaction.agreementId
REST Example: Merchant-Initiated Subsequent Installment
Payment with a Mastercard PAN and 3-D Secure
3-D Secure
Request
This example includes optional fields.
{ "clientReferenceInformation" : { "code" : "TC_SPG_FE_MC-2" }, "processingInformation" : { "commerceIndicator" : "install", "authorizationOptions" : { "initiator" : { "type" : "merchant", "merchantInitiatedTransaction" : { "agreementId" : "MIT Agreement-Id_123$" }, "storedCredentialUsed" : true } }, "originalPaymentId" : "7491996807960170045280", "capture" : true, "industryDataType" : "restaurant" }, "aggregatorInformation" : { "subMerchant" : { "id" : "SubMerId123" } }, "orderInformation" : { "billTo" : { "firstName" : "Abdullah", "lastName" : "Muhammad", "phoneNumber" : "01-4844094", "address2" : "(PO)Box 16335", "address1" : "Al Dariyah Dist", "postalCode" : "22028", "email" : "" }, "amountDetails" : { "totalAmount" : "407.01", "currency" : "SAR" } }, "merchantInformation" : { "categoryCode" : 4999, "merchantDescriptor" : { "country" : "SA", "address1" : "Kharj Road", "postalCode" : "12211", "locality" : "Riyadh", "name" : "Al Madina" } }, "paymentInformation" : { "card" : { "expirationYear" : "2026", "number": "CARD_NUMBER", "expirationMonth" : "12", "type" : "002" } }, "installmentInformation" : { "sequence" : 2, "amount" : "210", "totalCount" : 3 } }
Response to a Successful Request
{ "paymentInformation": { "bin": "555555", "issuer": "CONOTOXIA SP. Z O.O", "binCountry": "PL", "accountType": "MASTERCARD Classic", "cardBrand": "MASTERCARD", "cardType": "002" }, "submitTimeUtc": "2025-08-28T11:40:39Z", "processorInformation": { "paymentAccountReferenceNumber": "8atcUKA55teOnsvajmkfaY8Rosg2Z", "approvalCode": "830SPG", "transactionId": "WsPI4kVYXSlXPPK", "merchantAdvice": { "code": "01", "codeRaw": "01" }, "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "cardVerification": { "resultCodeRaw": "N", "resultCode": "N" }, "settlementDate": "220915", "avs": { "code": "M", "codeRaw": "M" }, "retrievalReferenceNumber": "524011500230", "responseCode": "00" }, "_links": { "self": { "method": "GET", "href": "/pts/v2/payments/7563812390036731704807/captures" }, "refund": { "method": "POST", "href": "/pts/v2/payments/7563812390036731704807/refunds" }, "void": { "method": "POST", "href": "/pts/v2/captures/7563812390036731704807/voids" } }, "paymentAccountInformation": { "card": { "type": "002" } }, "clientReferenceInformation": { "code": "TC_SPG_FE_VI-1" }, "consumerAuthenticationInformation": { "token": "7563812390036731704807", "eciRaw": "05A" }, "id": "7563812390036731704807", "orderInformation": { "amountDetails": { "currency": "SAR", "authorizedAmount": "20100.00", "totalAmount": "20100.00" } }, "reconciliationId": "7563812390036731704807", "status": "PENDING", "embeddedActions": { "CAPTURE": { "status": "PENDING" } } }
Recurring Payments
A recurring payment is a credentials-on-file (COF) transaction in a series of payments
that you bill to a customer for a fixed amount at regular intervals that do not exceed
one year between transactions. The series of recurring payments is the result of an
agreement between you and the customer for the purchase of goods or services that are
provided at regular intervals. Recurring payments are also known as
subscriptions
.Recurring Billing Service for Recurring Payments
IMPORTANT
Do not use this document for the Recurring Billing service.
Use the
Recurring Billing Developer
Guide
. When you use the Recurring Billing service,
Cybersource
saves and stores payment credentials for
recurring transactions, ensuring compliance with COF best practices.
Customer-Initiated Recurring Payment with PAN
A recurring payment is a credentials-on-file (COF) transaction in a
series of payments that you bill to a customer at a fixed amount, at regular
intervals that do not exceed one year between transactions. The series of recurring
payments is the result of an agreement between you and the customer for the purchase
of goods or services that are provided at regular intervals.
Recurring Billing Service for Recurring Payments
IMPORTANT
Do not use this document for the Recurring Billing service.
Use the
Recurring Billing Developer
Guide
. When you use the Recurring Billing service,
Cybersource
saves and stores payment credentials for
recurring transactions, ensuring compliance with COF best practices.
Processor-Specific Information
National Payment Gateway
requires payer authentication data in customer-initiated transactions.When the domestic scheme directory server for mada cards is not available and
authentication falls back to the global scheme directory server, the authentication
brand response field indicates which directory server was used during the
authentication process.
Endpoint
Production:
POST
https://api.sa.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.sa.cybersource.com
/pts/v2/paymentsSuccessful Response
Store the
network transaction ID
, which is the processorInformation.networkTransactionId
field value, from the
successful response message. You must include the network transaction ID in
subsequent MIT authorization requests in order to associate the CIT to the MIT.Required Fields for a Customer-Initiated Recurring Payment with PAN
- Set the value toSAR.
- processingInformation.authorizationOptions.initiator. merchantInitiatedTransaction.agreementId
REST Example: Customer-Initiated Recurring Payment with a mada Card PAN and 3-D Secure
3-D Secure
Request
This example includes optional fields.
{ "clientReferenceInformation": { "code": "SPG_REQ_05" }, "recurringPaymentInformation": { "amountType": "0", "numberOfPayments": 3, "type": "1" }, "consumerAuthenticationInformation": { "cavv": "EHuWW9PiBkWvqE5juRwDzAUFBAk=", "dsReferenceNumber": "dsReferenceNumber-3DS-mada123", "paresStatus": "Y", "acsReferenceNumber": "3DS_LOA_ACS_201_13579", "paSpecificationVersion": "2", "authenticationDate": "20230413121212", "directoryServerTransactionId": "f25084f0-5b16-4c0a-ae5d-b24808a95e4b", "acsTransactionId": "f25084f0-5b16-4c0a-ae5d-b248083334b2" }, "processingInformation": { "commerceIndicator": "mada", "authorizationOptions": { "initiator": { "credentialStoredOnFile":true, "merchantInitiatedTransaction": { "agreementId": "AgreementId123$" } } }, "capture": true }, "orderInformation": { "billTo": { "firstName": "Abdullah", "lastName": "Muhammad", "phoneNumber": "01-4844094", "address2": "P.O.Box: 16335", "address1": "Al Dariyah Dist.", "postalCode": "22028", "email": "" }, "amountDetails": { "totalAmount": "100", "currency": "SAR" } }, "merchantInformation": { "categoryCode": 5411, "merchantDescriptor": { "country": "SA", "address1": "API Address", "postalCode": "12987-7318", "locality": "Riyadh", "name": "API Merchant-Name1" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "CARD_NUMBER", "securityCode": "123", "expirationMonth": "12", "type": "060" } } }
Response to a Successful Request
{ "paymentInformation": { "bin": "968208", "issuer": "Al Bank Al Saudi Al Fransi", "binCountry": "SA", "cardBrand": "MADA", "cardType": "PREPAID" }, "paymentAccountInformation": { "card": { "currency": "SAR", "type": "060" } }, "orderInformation": { "amountDetails": { "currency": "SAR", "authorizedAmount": "100.00" } }, "processorInformation": { "approvalCode": "830SPG", "retrievalReferenceNumber": "334210123456", "cardVerification": { "resultCode": "M", "resultCodeRaw": "M" }, "responseCode": "00", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "settlementDate": "220915" }, "_links": { "self": { "method": "GET", "href": "/pts/v2/payments/7020303222541234567890" }, "refund": { "method": "POST", "href": "/pts/v2/payments/7020303222541234567890/refunds" } }, "clientReferenceInformation": { "code": "TC_SPG_BASIC-1" }, "consumerAuthenticationInformation": { "token": "abc" }, "reconciliationId": "7020303222541234567890", "status": "COMPLETED", "id": "7020303222541234567890", "submitTimeUtc": "2023-12-08T10:12:02Z" }
Merchant-Initiated Recurring Payments with PAN
After the initial recurring payment (CIT), subsequent recurring payments are
merchant-initiated transactions (MITs).
Prerequisites
The first transaction in a recurring payment is a customer-initiated transaction
(CIT). Before you can perform a subsequent merchant-initiated transaction (MIT), you
must store the customer's credentials for later use. Before you can store the
customer's credentials, you must get their consent to store their private
information. This is also known as establishing a relationship with the
customer.
Endpoint
Production:
POST
https://api.sa.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.sa.cybersource.com
/pts/v2/paymentsRequired Fields for a Merchant-Initiated Recurring Payment
- Set the value toSAR.
- processingInformation.authorizationOptions.initiator. merchantInitiatedTransaction.agreementId
- recurringPaymentInformation.sequenceNumber
REST Example: Merchant-Initiated Recurring Payment with a mada Card PAN and 3-D Secure
3-D Secure
Request
This example includes optional fields.
{ "clientReferenceInformation": { "code": "SPG_REQ_11" }, "recurringPaymentInformation": { "amountType": "0", "numberOfPayments": 3, "sequenceNumber": 1 }, "processingInformation": { "commerceIndicator": "recurring", "capture": true, "originalPaymentId": "7429104506861234567890", "authorizationOptions": { "initiator": { "storedCredentialUsed": true, "type": "merchant", "merchantInitiatedTransaction": { "agreementId": "AgreementId123$" } } } }, "orderInformation": { "billTo": { "firstName": "Abdullah", "lastName": "Muhammad", "phoneNumber": "01-4844094", "address2": "P.O.Box: 16335", "address1": "Al Dariyah Dist.", "postalCode": "22028", "email": "" }, "amountDetails": { "totalAmount": "100", "currency": "SAR" } }, "merchantInformation": { "categoryCode": 5411, "merchantDescriptor": { "country": "SA", "address1": "API Address", "postalCode": "12987-7318", "locality": "Riyadh", "name": "API Merchant-Name1" } }, "paymentInformation": { "card": { "number": "CARD_NUMBER", "expirationYear": "2031", "expirationMonth": "12", "type": "060" } } }
Response to a Successful Request
{ "paymentInformation": { "bin": "968208", "issuer": "Al Bank Al Saudi Al Fransi", "binCountry": "SA", "cardBrand": "MADA", "cardType": "PREPAID" }, "paymentAccountInformation": { "card": { "currency": "SAR", "type": "060" } }, "orderInformation": { "amountDetails": { "currency": "SAR", "authorizedAmount": "100.00" } }, "processorInformation": { "approvalCode": "830SPG", "retrievalReferenceNumber": "334210123456", "cardVerification": { "resultCode": "M", "resultCodeRaw": "M" }, "responseCode": "00", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "settlementDate": "220915" }, "_links": { "self": { "method": "GET", "href": "/pts/v2/payments/7020303222541234567890" }, "refund": { "method": "POST", "href": "/pts/v2/payments/7020303222541234567890/refunds" } }, "clientReferenceInformation": { "code": "TC_SPG_BASIC-1" }, "consumerAuthenticationInformation": { "token": "abc" }, "reconciliationId": "7020303222541234567890", "status": "COMPLETED", "id": "7020303222541234567890", "submitTimeUtc": "2023-12-08T10:12:02Z" }
Merchant-Initiated Recurring Payment with TMS
TMS
After the customer-initiated recurring payment, you can send merchant-initiated recurring
payments using one or more
TMS
token types: - Customer
- Customer tokens store one or more customer payment instrument tokens and shipping address tokens.
- Including a customer token eliminates the need to include billing information, card information, and the previous transaction's ID.
- "paymentInformation": { "customer": { "id": "07C9CA98022DA498E063A2598D0AA400" } }
- For more information about thisTMStoken type, see Customer Tokens in the.Token Management ServiceDeveloper Guide
- Payment Instrument
- Payment instrument tokens store an instrument identifier token, card information, and billing information. Payment instruments are not linked to a customer token.
- Including a payment instrument eliminates the need to include billing information, card information, and the previous transaction's ID.
- "paymentInformation": { "paymentInstrument": { "id": "07CA24EF20F9E2C9E063A2598D0A8565" } }
- For more information about thisTMStoken type, see Payment Instrument Token in the.Token Management ServiceDeveloper Guide
- Instrument Identifier
- Instrument identifier tokens store only a PAN. Including an instrument identifier eliminates the need to include a PAN and the previous transaction's ID.
- "paymentInformation": { "instrumentIdentifier": { "id": "7010000000016241111" } }
- For more information about thisTMStoken type, see Instrument Identifier Token in the.Token Management ServiceDeveloper Guide
Prerequisites
The first transaction in a recurring payment is a customer-initiated transaction
(CIT). Before you can perform a subsequent merchant-initiated transaction (MIT), you
must store the customer's credentials for later use. Before you can store the
customer's credentials, you must get their consent to store their private
information. This is also known as establishing a relationship with the
customer.
Endpoint
Production:
POST
https://api.sa.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.sa.cybersource.com
/pts/v2/paymentsRequired Fields for a Merchant-Initiated
Recurring Payment with TMS
TMS
- processingInformation.authorizationOptions.initiator.merchantInitiatedTransaction.agreementId
- recurringPaymentInformation.sequenceNumber
Instrument Identifier Required Fields
If you are using the
paymentInformation.instrumentIdentifier.id
token, include these required fields in addition to the required fields listed
above.Card-Specific Field
Some card companies require additional fields when making authorizations with stored
credentials. Include this field if you are using these card types:
- Discover
- processingInformation.authorizationOptions.initiator. merchantInitiatedTransaction.originalAuthorizedAmount
- Mastercard
- Mastercard supports subscription and standing order payments instead of recurring payments.
REST Example: Merchant-Initiated Recurring Payment with a
TMS Instrument Identifier
TMS
Instrument IdentifierRequest
This example includes optional fields.
{ "clientReferenceInformation": { "code": "SPG_REQ_11" }, "recurringPaymentInformation": { "amountType": "0", "numberOfPayments": 3, "sequenceNumber": 1 }, "processingInformation": { "commerceIndicator": "recurring", "capture": true, "originalPaymentId": "7174099314941234567890", "authorizationOptions": { "initiator": { "type": "merchant", "merchantInitiatedTransaction": { "agreementId": "AgreementId123$" } } } }, "orderInformation": { "billTo": { "firstName": "Abdullah", "lastName": "Muhammad", "phoneNumber": "01-4844094", "address2": "P.O.Box: 16335", "address1": "Al Dariyah Dist.", "postalCode": "22028", "email": "" }, "amountDetails": { "totalAmount": "100", "currency": "SAR" } }, "merchantInformation": { "categoryCode": 5411, "merchantDescriptor": { "country": "SA", "address1": "API Address", "postalCode": "12987-7318", "locality": "Riyadh", "name": "API Merchant-Name1" } }, "paymentInformation": { "instrumentIdentifier": { "id": "7010000000026973240" }, "card": { "expirationYear": "2031", "expirationMonth": "12", "type": "060" } } }
Response to a Successful Request
{ "paymentInformation": { "bin": "968208", "issuer": "Al Bank Al Saudi Al Fransi", "binCountry": "SA", "cardBrand": "MADA", "cardType": "060", "instrumentIdentifier": { "id": "7010020000025033240", "state": "ACTIVE" } }, "paymentAccountInformation": { "card": { "currency": "SAR", "type": "060" } }, "submitTimeUtc": "2025-03-14T07:23:40Z", "orderInformation": { "amountDetails": { "currency": "SAR", "authorizedAmount": "100.00" } }, "processorInformation": { "paymentAccountReferenceNumber": "Xnaq8RrWXaCgPOrFAeaZiqLqO0bh2", "approvalCode": "830SPG", "retrievalReferenceNumber": "507307221975", "cardVerification": { "resultCode": "M", "resultCodeRaw": "M" }, "responseCode": "00", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "settlementDate": "220915" }, "_links": { "self": { "method": "GET", "href": "/pts/v2/payments/7419370205653628689958" }, "refund": { "method": "POST", "href": "/pts/v2/payments/7419370205653628689958/refunds" } }, "clientReferenceInformation": { "code": "TC_SPG_FE_MD-11" }, "consumerAuthenticationInformation": { "token": "7419370205653628689958" }, "reconciliationId": "7419370205653628689958", "id": "7419370205653628689958", "status": "COMPLETED", "tokenInformation": { "instrumentIdentifierNew": false, "instrumentIdentifier": { "id": "7010020000025033240", "state": "ACTIVE" } }, "embeddedActions": { "TOKEN_RETRIEVE": { "status": "SUCCESS" } } }
Unscheduled COF Payments
An unscheduled credentials-on-file (COF) transaction uses stored payment information for a
fixed or variable amount that does not occur regularly. An account top-up is one kind of
unscheduled COF.
Customer-Initiated Unscheduled COF Payment with PAN
An unscheduled credentials-on-file (COF) transaction uses stored
payment information for a fixed or variable amount that does not occur regularly. An
account top-up is one kind of unscheduled COF.
Processor-Specific Information
National Payment Gateway
requires payer authentication data in customer-initiated transactions.When the domestic scheme directory server for mada cards is not available and
authentication falls back to the global scheme directory server, the authentication
brand response field indicates which directory server was used during the
authentication process.
Endpoint
Production:
POST
https://api.sa.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.sa.cybersource.com
/pts/v2/paymentsSuccessful Response
Store the
network transaction ID
, which is the processorInformation.networkTransactionId
field value, from the
successful response message. You must include the network transaction ID in
subsequent MIT authorization requests in order to associate the CIT to the MIT.Required Fields for a Customer-Initiated Unscheduled COF Payment with PAN
- Set the value toSAR.
- processingInformation.authorizationOptions.i.initiator. merchantInitiatedTransaction.agreementId
- unscheduledPaymentInformation.type
REST Example: Customer-Initiated Unscheduled mada Card COF Payment with PAN and 3-D Secure
3-D Secure
Request
This example includes optional fields.
{ "clientReferenceInformation": { "code": "SPG_REQ_02" }, "consumerAuthenticationInformation": { "cavv": "EHuWW9PiBkWvqE5juRwDzAUFBAk=", "dsReferenceNumber": "dsReferenceNumber-3DS-mada123", "paresStatus": "Y", "acsReferenceNumber": "3DS_LOA_ACS_201_13579", "paSpecificationVersion": "2", "authenticationDate": "20230413121212", "directoryServerTransactionId": "f25084f0-5b16-4c0a-ae5d-b24808a95e4b", "acsTransactionId": "f25084f0-5b16-4c0a-ae5d-b248083334b2" }, "processingInformation": { "commerceIndicator": "mada", "authorizationOptions": { "initiator": { "type": "customer", "credentialStoredOnFile":true, "merchantInitiatedTransaction": { "agreementId": "AgreementId123$" } } }, "capture": true }, "unscheduledPaymentInformation": { "type": "1" }, "orderInformation": { "billTo": { "firstName": "Abdullah", "lastName": "Muhammad", "phoneNumber": "01-4844094", "address2": "P.O.Box: 16335", "address1": "Al Dariyah Dist.", "postalCode": "22028", "email": "" }, "amountDetails": { "totalAmount": "100", "currency": "SAR" } }, "merchantInformation": { "categoryCode": 5411, "merchantDescriptor": { "country": "SA", "address1": "API Address", "postalCode": "12987-7318", "locality": "Riyadh", "name": "API Merchant-Name1" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "CARD_NUMBER", "securityCode": "123", "expirationMonth": "12", "type": "060" } } }
Response to a Successful Request
{ "paymentInformation": { "bin": "968208", "issuer": "Al Bank Al Saudi Al Fransi", "binCountry": "SA", "cardBrand": "MADA", "cardType": "PREPAID" }, "paymentAccountInformation": { "card": { "currency": "SAR", "type": "060" } }, "orderInformation": { "amountDetails": { "currency": "SAR", "authorizedAmount": "100.00" } }, "processorInformation": { "approvalCode": "830SPG", "retrievalReferenceNumber": "334210123456", "cardVerification": { "resultCode": "M", "resultCodeRaw": "M" }, "responseCode": "00", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "settlementDate": "220915" }, "_links": { "self": { "method": "GET", "href": "/pts/v2/payments/7020303222541234567890" }, "refund": { "method": "POST", "href": "/pts/v2/payments/7020303222541234567890/refunds" } }, "clientReferenceInformation": { "code": "TC_SPG_BASIC-1" }, "consumerAuthenticationInformation": { "token": "abc" }, "reconciliationId": "7020303222541234567890", "status": "COMPLETED", "id": "7020303222541234567890", "submitTimeUtc": "2023-12-08T10:12:02Z" }
Merchant-Initiated Unscheduled COF Payment with PAN
After the initial CIT unscheduled COF payment, subsequent unscheduled COF transactions are
merchant-initiated transactions (MITs).
Prerequisites
The first transaction in an unscheduled COF payment is a customer-initiated
transaction (CIT). Before you can perform a subsequent merchant-initiated
transaction (MIT), you must store the customer's credentials for later use. Before
you can store the user's credentials, you must get the customer's consent to store
their private information. This process is also known as establishing a relationship
with the customer.
Endpoint
Production:
POST
https://api.sa.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.sa.cybersource.com
/pts/v2/paymentsRequired Fields for a Subsequent MIT Unscheduled COF Payment
- Set the value toSAR.
- processingInformation.authorizationOptions.i.initiator. merchantInitiatedTransaction.agreementId
- unscheduledPaymentInformation.type
REST Example: Merchant-Initiated Unscheduled mada Card COF
Payment with PAN and 3-D Secure
3-D Secure
Request
This example includes optional fields.
{ "clientReferenceInformation": { "code": "SPG_REQ_11" }, "processingInformation": { "capture": true, "originalPaymentId": "7429102546561234567890", "authorizationOptions": { "initiator": { "type": "merchant", "storedCredentialUsed": true, "merchantInitiatedTransaction": { "agreementId": "AgreementId123$" } } } }, "unscheduledPaymentInformation": { "type": "2" }, "orderInformation": { "billTo": { "firstName": "Abdullah", "lastName": "Muhammad", "phoneNumber": "01-4844094", "address2": "P.O.Box: 16335", "address1": "Al Dariyah Dist.", "postalCode": "22028", "email": "" }, "amountDetails": { "totalAmount": "100", "currency": "SAR" } }, "merchantInformation": { "categoryCode": 5411, "merchantDescriptor": { "country": "SA", "address1": "API Address", "postalCode": "12987-7318", "locality": "Riyadh", "name": "API Merchant-Name1" } }, "paymentInformation": { "card": { "number": "CARD_NUMBER", "expirationYear": "2031", "expirationMonth": "12", "type": "060" } } }
Response to a Successful Request
{ "paymentInformation": { "bin": "968208", "issuer": "Al Bank Al Saudi Al Fransi", "binCountry": "SA", "cardBrand": "MADA", "cardType": "PREPAID" }, "paymentAccountInformation": { "card": { "currency": "SAR", "type": "060" } }, "orderInformation": { "amountDetails": { "currency": "SAR", "authorizedAmount": "100.00" } }, "processorInformation": { "approvalCode": "830SPG", "retrievalReferenceNumber": "334210123456", "cardVerification": { "resultCode": "M", "resultCodeRaw": "M" }, "responseCode": "00", "consumerAuthenticationResponse": { "code": "2", "codeRaw": "2" }, "settlementDate": "220915" }, "_links": { "self": { "method": "GET", "href": "/pts/v2/payments/7020303222541234567890" }, "refund": { "method": "POST", "href": "/pts/v2/payments/7020303222541234567890/refunds" } }, "clientReferenceInformation": { "code": "TC_SPG_BASIC-1" }, "consumerAuthenticationInformation": { "token": "abc" }, "reconciliationId": "7020303222541234567890", "status": "COMPLETED", "id": "7020303222541234567890", "submitTimeUtc": "2023-12-08T10:12:02Z" }
Mastercard Standing Order Payment
A standing order payment is a recurring COF transaction that is a variable amount at a
regular interval, such as a utility bill, not to exceed one year between transactions.
The series of recurring payments is the result of an agreement between you and the
customer for the purchase of goods or services that are provided at regular
intervals.
Mastercard Subscription Payment
A subscription payment is a recurring COF transaction that is processed at a fixed amount at regular intervals not to exceed one year between transactions. The series of recurring payments is the result of an agreement between you and the customer for the purchase of goods or services that are provided at regular intervals.