Customer-Initiated Transactions (CIT)
A Customer-Initiated Transaction (CIT) is the initial payment where the cardholder is present and approves the
charge. This is the transaction you run first in any recurring or stored-card flow, because it produces the
networkTransactionId (NTI) that every later MIT should reference.
To create a CIT, set "initiatorType": "CUSTOMER" in the payment method object.
Creating a CIT charge
POST https://api.beamcheckout.com/api/v1/charges
Content-Type: application/json
Authorization: Basic <base64(merchantId:apiKey)>
{
"amount": 10000,
"currency": "THB",
"paymentMethod": {
"paymentMethodType": "CARD_NETWORK_TOKEN",
"cardNetworkToken": {
"number": "4111111111111111",
"cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=",
"cardHolderName": "John Doe",
"expiryMonth": 12,
"expiryYear": 31,
"first8": "41111111",
"last4": "1111",
"initiatorType": "CUSTOMER"
}
},
"referenceId": "charge_cit_nt",
"skip3dsFlow": true
}initiatorType is also supported on CARD and CARD_TOKEN.
Beam returns the NTI
After the charge reaches SUCCEEDED, retrieve it with GET /api/v1/charges/{chargeId}. Beam returns the
networkTransactionId in the response payment method object. Store this value — you will use it for subsequent MITs.
{
"chargeId": "ch_2xTsz7Qit55pahSvKfJG3UMkpFQ",
"amount": 10000,
"currency": "THB",
"status": "SUCCEEDED",
"referenceId": "charge_cit_nt",
"paymentMethod": {
"paymentMethodType": "CARD_NETWORK_TOKEN",
"cardNetworkToken": {
"brand": "VISA",
"last4": "1111",
"countryAlpha2": "TH",
"networkTransactionId": "024042212345678",
"iso8583ResponseCode": "00"
}
}
}An NTI obtained from a CIT processed by another payment processor can also be used for MITs on Beam. You are not required to run the initial CIT through Beam, as long as you have a valid NTI for the card.
What’s next
Once you have stored the networkTransactionId, you can charge the card without the cardholder present — see
Merchant-Initiated Transactions (MIT).