| Payment Method | Payment Brand | Support |
|---|---|---|
| Card | VISA | Yes |
| Mastercard | Yes | |
| AMEX | Yes | |
| JCB | Yes | |
| Diners / Discover | Yes | |
| UnionPay | Yes | |
| TPN | No |
captureAfterHours field in the initial payment request to /g2/v1/payment/mer/{sid}/payment, the default capture setting will apply for payment methods that support separate authorization and capture.captureAfterHours field is ignored, as payments are captured immediately after authorization.captureAfterHours field when you make an HTTP POST request to EVO Cloud endpoint (/g2/v1/payment/mer/{sid}/payment) to enable this feature. Then EVO Cloud backend will setup an automatic capture task according to the captureAfterHours you specified.captureAfterHours, meaning that you can set up to 168 hours (7 days) later for automatic capture after authorization. 0 means capture the payment immediately after authorization.| Payment Method | Payment Brand |
|---|---|
| Token & Card | VISA |
| Mastercard | |
| AMEX | |
| JCB | |
| Diners / Discover | |
| UnionPay |
payment.status with Authorised, you can make an HTTP POST request from your server to EVO Cloud endpoint| Parameter | Required | Description |
|---|---|---|
| merchantTransID | M | The merchantTransInfo.merchantTransID of the initial payment. |
| merchantTransInfo | M | The reference for the capture, including a unique merchantTransID and merchantTransTime to specify the time you initiate the request. |
| transAmount | M | The currency and value of the payment. The value must follow the currency's minor unit. |
| initiatingReason | O | You can state the reason for this request in this field. |
| webhook | O | The URL to receive notification. Specify this to get the notification from EVO Cloud after the payment succeeds. |
| paymentMethod | O | Payment method object. |
| paymentMethod.type | O | Must be card for this document's scenario. |
| metadata | O | A self-defined reference information that you can specify in the request, echoed back in the response. Metadata |
paymentMethod.type: Set as card in your request.paymentMethod.card.encryptedCardInfo: The encrypted card information. If you use EVO Cloud client-side solution to securely encrypt your user's card details, your frontend will get the value from EVO Cloud SDK, and you need to send it to your host, then your host needs to forward the original data to EVO Cloud.paymentMethod.card.cardInfo: The raw data of the card information. If you collect and send raw card data to EVO Cloud, you need to specify the cardNumber, expiryDate, and cvc (optional),track2 and holderName in this object. For some of the UnionPay debit cards, the expiryDate is also optional.paymentMethod.cardfields| Field path | M/O | Condition | Description |
|---|---|---|---|
paymentMethod.card | M | paymentMethod.type=card | Card-related transaction object. |
paymentMethod.card.encryptedCardInfo | O | Approved encrypted-card integration | Encrypted card information. |
paymentMethod.card.cardInfo | O | Approved card-information integration | Card information container. |
paymentMethod.card.cardInfo.cardNumber | M | Manual/MOTO or final schema requirement | Card number. Never use a real value in examples or test fixtures. |
paymentMethod.card.cardInfo.expiryDate | O | MOTO requirement | Expiration date in MMYY format. |
paymentMethod.card.posEntryMode | O | POS card route | Card data input mode. |
paymentMethod.card.pinFlag | O | Terminal supports PIN | true means the terminal can accept PIN; false means it cannot. |
paymentMethod.card.termReadability | O | Terminal capability is provided | Terminal card-data input capability. |
paymentMethod.card.icCardCondCode | O | UnionPay IC scenario | UnionPay card condition code. |
paymentMethod.card.noSecretNoSignFlag | O | UnionPay scenario | UnionPay no-secret/no-sign indicator. |
paymentMethod.card.cardInfo.track1 | O | Magnetic or channel-specific requirement | Track 1 data. The final field name must follow the approved schema. |
paymentMethod.card.cardInfo.track2 | O | Magnetic, ICC, contactless, or fallback requirement | Track 2 data. Must not be stored or logged in plaintext. |
paymentMethod.card.cardInfo.cardSequenceNum | O | ICC or contactless requirement | IC card sequence number. |
paymentMethod.card.cardInfo.icCardData | O | ICC or contactless requirement | EMV/ICC TLV data. |
paymentMethod.card.pin | O | PIN transaction | PIN container, if included in the final schema. |
paymentMethod.card.pin.encryptedPin | M | PIN transaction | Encrypted PIN block. Never log or persist as plaintext. |
paymentMethod.card.pin.pinEncryptMethod | M | PIN transaction | Approved PIN encryption method, for example 3DES, when supported. |
paymentMethod.card.pin.checkValue | O | Key-version lookup is enabled | Value used to identify the applicable working-key version, when supported. |
| posEntryMode mode | Transaction activity | Typical conditional data |
|---|---|---|
magnetic | Magnetic-stripe read | track2 |
ICC | Contact chip insertion | track2 、icCardData 、cardSequenceNum |
contactless | NFC EMV tap | track2 、icCardData 、cardSequenceNum |
contactless magnetic | Contactless transaction using a magnetic-stripe path | track2 |
fallback | EMV-to-magnetic fallback | track2 |
manual | Manual card entry | cardNumber 、expiryDate |
MOTO | Mail order / telephone order | cardNumber 、expiryDate |
capture.status: The status of the capture, required. The value can be Success, Failed, or Received. If you get a capture.status with Received, you need to either make another HTTP GET request to get the final status of the capture (see Step 2 for more details), or wait for the notification webhook from EVO Cloud.capture.transAmount: The currency and value of the capture, required. It is echoed back from your request.capture.merchantTransInfo: The object that is a reference for the capture, generated by your host, required. It is echoed back from your request.capture.evoTransInfo: The object that is a reference for the capture, generated by EVO Cloud, required. It contains evoTransID, evoTransTime, and traceNum (optional) and retrievalReferenceNum for some PSPs such as Visa or Mastercard.capture.pspTransInfo: The object that is a reference for the capture, generated by PSP, optional. It contains pspTransID, pspTransTime, and authorizationCode. EVO Cloud forwards this information from PSP to your host if PSP returns.capture.billingAmount and capture.billingFXRate: The user's billing currency and value of the capture, and the FX rate between capture.transAmount.currency and capture.billingAmount.currency, optional. EVO Cloud forwards this information from PSP to your host if PSP returns. This is applied to some E-Wallet payment when PSP conducts the currency conversion, or to some card payment when you enable the DCC feature. You can contact EVO Cloud account manager for more details.capture.convertTransAmount and capture.convertTransFXRate: The currency and value calculated by EVO Cloud based on transAmount and the FX rate from transAmount.currency to a different currency when the transaction is sent out to PSP, and the FX rate between capture.transAmount.currency and capture.convertTransAmount.currency, optional. The FX rate will be provided if you enable the currency conversion feature in EVO Cloud and this capture applies currency conversion. You can contact EVO Cloud account manager for more details.capture.status with Received and you don't use the Accept Notification webhook, you can retrieve the final result from EVO Cloud.| Parameter | Required | Description |
|---|---|---|
| merchantTransID | M | The merchantTransInfo.merchantTransID of the initial capture. |