| Query parameter | Required | Description |
|---|---|---|
paymentBrand | O | The specific Payment Brand which you intend to provide to user. With this parameter, you will get the available payment method(s) and payment information for this specific Payment Brand in response. |
cardBIN | O | The specific card BIN which the user intends to use to pay. With this parameter, you will get the available payment method(s) and payment information for this specific card BIN in response. |
Currency | O | The specific currency which the user intends to use to pay. With this parameter, you will get the available payment method(s) and payment information for this specific currency in response. |
Tokenize | O | The Boolean filed. Used to indicate Inquiry the payment method which support tokenization. With the value true, you will get the payment method(s) and payment information which support tokenization. |
cardBIN, paymentBrand, and then currency.paymentMethod.paymentBrandList.paymentInfo to provide the list of payment methods and the required payment information for each payment method.paymentMethod.paymentBrandList.authenticationInfo. See chapter Authentication for more details.| Key name in paymentBrandList | Field name in EVO Cloud API | ISO specification |
|---|---|---|
| Country (in Delivery Address) | userInfo.deliveryAddress.country | ISO-3166-1 alpha-3. For example, SGP. |
| State or Province(in Delivery Address) | userInfo.deliveryAddress.stateOrProvince | ISO-3166-2. For example, North East. |
| Country (in Billing Address) | userInfo.billingAddress.country | ISO-3166-1 alpha-3. For example, SGP. |
| State or Province(in Billing Address) | userInfo.billingAddress.stateOrProvince | ISO-3166-2. For example, North East. |
| Field path | M/O | Description |
|---|---|---|
merchantTransInfo | M | Merchant transaction identification object. |
storeInfo | O | Supplemental store information. |
transAmount | M | The currency and value of the payment. The value must follow the currency's minor unit. |
captureAfterHours | O | Controls immediate, automatic, or manual Capture behavior. |
paymentMethod | M | Payment method object. |
paymentMethod.type | M | Must be card for this document's scenario. |
transInitiator | M | Terminal initiation context. |
transInitiator.platform | M | Must be POS for the POS route. |
transInitiator.paymentScenario | O | inStore when required by deployment routing. |
transInitiator.terminalID | O | Registered terminal identifier |
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 |
{
"result": {
"code": "S0000",
"message": "Success"
},
"merchantTransInfo": {
"merchantTransID": "{{merchantTransId}}"
},
"payment": {
"status": "Captured",
"transID": "{{platformTransactionId}}",
"transAmount": {
"currency": "{{currency}}",
"value": "{{amount}}"
}
},
"paymentMethod": {
"type": "card"
},
"transInitiator": {
"platform": "POS",
"terminalID": "{{terminalId}}"
}
}| Status | Meaning | Merchant action |
|---|---|---|
Pending | Request accepted but processing is not final | Query the transaction or wait for Notification according to the integration contract. |
Authorised | Authorization succeeded but Capture is outstanding | Send Capture or wait for automatic Capture. |
Captured | Authorization and Capture completed | Fulfil the order and store the final transaction identifiers. |
Failed | Validation, business, risk, or PSP processing failed | Do not fulfil the order. Inspect the result code and message. |
Reversed | Authorization was reversed after timeout or recovery handling | Do not treat the transaction as captured. Reconcile the final result. |
Captured;Authorised;Captured;Failed;| Operation | Purpose | Expected source status |
|---|---|---|
POST Capture | Complete a successful pre-authorization | Authorised |
POST Cancel | Cancel an eligible authorization before capture | Contract-defined authorization status |
POST Refund | Refund a captured transaction | Captured or eligible partially refunded status |
POST CancelOrRefund | Select cancellation or refund behavior according to transaction state | Contract-defined status |
GET Payment | Query the latest Payment status | Existing transaction identifier |
{
"result": {
"code": "S0000",
"message": "Success"
},
"merchantTransInfo": {
"merchantTransID": "{{merchantTransId}}"
},
"payment": {
"status": "Captured",
"transID": "{{platformTransactionId}}",
"transAmount": {
"currency": "{{currency}}",
"value": "{{amount}}"
}
},
"paymentMethod": {
"type": "card"
},
"transInitiator": {
"platform": "POS",
"terminalID": "{{terminalId}}"
}
}result.code and payment.status to inform the user of the payment status.| Result Code | Description |
|---|---|
S0000 | Success |
V0008 | Field {} is not applied with {...} |
C0004 | Request resource merchantTransID {XXX} not exist |
C0006 | Request resource vault ID {XXX} not exist |
C0008 | Request resource paymentMethod token {XXX} not exist |
B0005 | Unsupported function {XXX}, please check your profile setup in EVO Cloud |
B0012 | Invalid transaction status {XXX} to complete the request |
B0019 | Authentication required, please ask user to input authentication info |
B0021 | {Payment / Tokenization} failed due to user authentication results with high risk, please ask user to try again |
result.code values and recommended messages that you can present to your user, see Appendix in EVO Cloud API Specification.result.code is S0000, you need to check the payment.status to judge and inform your user the payment status.| Status | Description |
|---|---|
| Authorised | Used for card transaction, means the transaction authorization is successfully completed and pending for Capture (merchant can submit cancel). |
| Captured | If card transaction, means transaction authorization and capture are successfully completed; If e-wallet transaction, means transaction is successfully completed. |
| Failed | Payment failed. |
payment.status values and description, see payment.status in EVO Cloud API Specification.