---
title: "payment"
method: POST
path: "/payment"
tags: ["payment"]
---

# payment

`POST /payment`

## Headers

- `Authorization` string, required
- `Content-type` string, required
- `DateTime` string, required
- `KeyID` string, required
- `MsgID` string
- `SignType` string, required
- `Idempotency-Key` string

## Request body

- object
  - `merchantTransInfo` object, required — This is the information for merchant to identify this Transaction.<br><br> Usage Instruction<br> For each new POST request, including PaymentMethod, Payment, Capture, Cancel, Refund, a new and unique merchantTranInfo shall be assigned for the transaction.
    - `merchantOrderReference` string — The merchant assigned Order Reference Number.<br><br> Usage Instruction<br> 1. Evonet does not validate this value. Merchant can define this reference number to track different transactions related to the same order within merchant site.<br> 2. Field type: String(32)
    - `merchantTransID` string — The merchant assigned transaction identifier, should be unique under same Store ID.<br><br> Usage Instruction<br> 1. Field type: String(32)
    - `merchantTransTime` string, date-time, required — Time when merchant submits this transaction.<br><br> Usage Instruction<br> 1. Field type: Datetime<br> 2. Format: ISO 8601 YYYY-MM-DDThh:mm:ssTZD<br> 3. Sample: 2017-07-17T13:42:40+01:00
  - `transAmount` object, required — This is used to define the amount for the transaction - Usage Instruction 1. Used in POST Payment request, to send the payment transaction amount 2. Used in POST Capture request, to send the capture amount 3. Used in POST Refund request, to send the refund transaction amount 4. Used within object payment, capture or refund in response or notification from Evonet, to specify the corresponding amount of the objects. 5. Used in POST PaymentMethod, to indicate Currency for this transaction when the store is assigned multiple Currencies in Evonet. If the store is not assigned multiple Currencies, this object will be ignored.
    - `currency` string, required — The currency for this transaction. - Value defined The three-character currency code as defined in ISO-4217. For example, HKD
    - `value` string, required — The value of the transaction amount with major unit -Usage Instruction 1. Example：if currency=HKD, 12.34 means 12.34 HKD, 30 means 30.00HKD; if currency=JPY, 1234 means 1234 JPY 2. Field Type: String(12).
  - `allowAuthentication` boolean — This is to indicate if this Payment or Payment Method needs to conduct authentication - Usage instruction: 1. In Evonet, each merchant is configured with Non-Authentication, Optional-Authentication and Must-Authentication. When store is configured Optional-Authentication, this field is applied. 2. This filed is used in POST Payment request and Payment Method request, if true, Evonet will conduct additional authentication for this transaction or tokenize. 3. If not present, means default value=false, Evonet will not conduct authentication process for this transaction 4. Only used when paymentMethod.type=card 5. In Payment request, when paymentMethod.type=card and authenticationOnly=true this field is not applied. 6. Field Type: boolean
  - `authenticationOnly` boolean — This is to indicate if this is an authentication only Payment request Usage definition: 1. This field is used in POST Payment request only. If true, Evonet will conduct authentication only without authorization followed. 2. if not present, means default value = false, Evonet will conduct authorization process after authentication. 3. Only used when paymentMethod.type=card 4. When paymentMethod.type=card and paymentMethod.card.tokenize=true this field is not applied. 5. Field Type: boolean
  - `validTime` string — The effective time (Minutes) of the Order, which can be performed Payment before the time. The valid time will be sent to E-Wallet to indicate the valid time of the order pre-generated. -Value defined: 1. E-Wallets defined different valid time value including minimum, maximum and default (not present) 2. It is suggested for merchant to define the value between 5 minutes to 120 minutes (2hours) 3. If not present, the valid time will follow the defult value of E-Wallets - Usage Instruction 1. Only used when paymentMethod.type=e-wallet(WeChat Pay and Alipay+) or onlineBanking(UnionPay). 2. If merchant has special requirement for this value definition, please contact Evonet product team for detail information and suggestion. 3. Field Type: String(5)
  - `captureAfterHours` '0' | '1-168' | 'not present' — The number of hours for Evonet to initiate Capture on behalf of merchant after successful Payment - Usage Instruction 1. This field applies for below of paymentMethod.type, including card and token. 2. It is recommended to select '0' to choose Evonet capture on behalf service, unless some special merchant scenarios. 3. If paymentMethod.type≠card or token(card), this field will be ignored. 4. Field Type: String(3)
  - `returnURL` string — This is the URL address provided by merchant. After completing the authentication or payment processing, the user is redirected back to the merchant site. This URL address specifies which merchant site page the user goes back to. - Usage Instruction 1. Required in POST PaymentMethod or POST Payment request message when 3DS authentication is being performed. 2. Required in POST PaymentMethod request message when performing the tokenization with Alipay. 3. Required in POST Payment request message when performing the payment with E-Wallets, points and onlineBanking including 3.1 Alipay, Alipay+ on PC WEB, 3.2 Alipay, Alipay+, Alipay HK, WeChat Pay and on Mobile WAP, 3.3 WeChat Pay in Official Account, 3.4 TrueMoney Wallet, Rabbit LINE Pay, Pay with Points, Krungsri Online, Bualuang iBanking, Boost, MCash, ShopeePay, Touch 'N Go eWallet, Cards_KOR, Naver_Pay, Kakao_Pay and PAYCO, DANA, OVO, ShopeePay Indonesia, Akulaku, BNI VA, BRI VA, CIMB VA, Mandiri VA, Maybank VA, Permata VA, au, SoftBank, NTT Docomo, LINE Pay, Merpay, Paypay, on PC WEB, Mobile WAP and wallet APP. 3.5 K PLUS on Mobile WAP and wallet APP. 4. Field Type: String(300) 4.1 When authentication.type=threeDSIntegrator or threeDSPage, the maximum is 75. 4.2 When Payment Brand is Alipay or AlipayHK, the maximum is 200. 5. The format of the webhook must contain http:// or htps://
  - `paymentMethod` object, required — This field includes the Payment Method information, including Payment Method selected by User for Payment, and the Payment Method supported by the merchant
    - `recurringProcessingModel` 'Subscription' | 'Unscheduled' | 'COF' — This is to indicate whether a transaction is recurring or COF transaction. - Usage Instruction 1. Field Type: String(20) 2. For Google Pay’s recurring payment, only support Subscription and Unscheduled.
    - `recurringReference` string — The recurringReference that uniquely identifies the recurring transaction. Merchant will need this to make future payments for the user.<br><br> Usage Instruction<br> 1. For POST Payment response, PUT Payment response, GET Payment response, Payment Notification, POST PaymentMethod response, PUT PaymentMethod response, GET PaymentMethod response and PaymentMethod Notification, it is generated by Evonet.<br> 2. For POST Payment request, it is present for future payments.<br> 3. Field Type: String(64)
    - `isSubsequentTxn` boolean — This Identifies whether it is a subsequent transaction of COF. - Value definition true: This is subsequent transaction of COF. false: This is consumer initial CIT transaction and not subsequent transaction of COF. - Usage Instruction 1. If not present, means default value=false, Evonet will not be processed as subsequent transaction. 2. Only used when paymentMethod.type=card 3. When paymentMethod.type=token this field is not applied.
    - `isFirstCITTxn` boolean — For special scenarios, ASI (amount = 0) can be used as the first CIT for Recurring. - Value definition true: This is first CIT transaction with saving credentials for recurring transaction. false: This is transaction with saving credentials, but not the CIT transaction for recurring transaction. - Usage Instruction 1. Applies only to Payment with amount 0 or PaymentMethod. 2. Ignore this field if it appears when Payment with amount is not 0. Notes: 1. Approval rate of ASI and Payment after ASI, is subjected to issuers 2. If there is chargeback for Payment after ASI, liability in on merchant. 3. For Google Pay’s recurring binding card, only support isFirstCITTxn=true.
    - `type` 'card' | 'e-wallet' | 'token' | 'points' | 'onlineBanking' | 'bankTransfer' | 'buyNowPayLater' | 'carrierBilling' | 'cash' | 'prepaidCard' | 'GooglePay', required — This field is to indicate the type of payment method for this transaction
    - `card` object — This field is to send card related information for this transaction -Usage Instruction: 1. For POST Payment or POST PaymentMethod. If paymentMethod.type = card, the field must be present 2. For PUT PaymentMethod. Merchant may send this field to update the card information corresponding to the token. 3. Evonet may include this object in response 4. For POST Payment or POST PaymentMethod response. If paymentMethod.type=GooglePay & The paymentMethod.encryptedData is a card that consists of PAN, the field will be present.
      - `cardInfo` object — The card information structure for transmitting card information in plain text. -Usage Instruction: 1. If merchant has completed PCI DSS compliance certification, merchant can send card information in this field. 2. When paymentMethod.card.cardInfo present, the paymentMethod.card.cardInfo will be applied. 3. For PUT PaymentMethod request, this field is used to update token
        - `cardNumber` string, required — The card number - Usage Instruction 1. If cardInfo Object presents, this field must be present 2. Field Type: String(19)
        - `expiryDate` string — The expiration date of the card -Usage Instruction 1. Format: MMYY 2. Not applied for some UnionPay or TPN debit card transactions. 3. For PUT PaymentMethod request, this field is used to update token 4. Field Type: Fixed length, String(4)
        - `cvc` string — The security code on the back of card -Usage Instruction 1. Field Type: String(4)
        - `holderName` string — The cardholder's name. - Usage Instruction 1. Field Type: String(50)
      - `tokenValidDays` '1~365' | '0' | 'not presnet' — The validity days defined by merchant for the User token - Usage Instruction 1. For POST PaymentMethod and POST Payment, 0 and not present mean permanent valid 2. For PUT PaymentMethod, 0 means permanent valid, not present means not update 3. For PUT PaymentMethod, 1~365 means renew the vailed time to the date of request date + 1～365 day(s) 4. Field Type: String(3)
      - `vaultID` string — The group ID which the token belongs to. This token is unique under same vault ID - Usage Instruction: 1. This ID is assigned in Evonet, and will be provided to customer before integration.
      - `posEntryMode` 'manual' | 'magnetic' | 'ICC' | 'contactless' | 'contactless magnetic' | 'fallback' | 'MOTO' — This is to indicate the card data inpute mode. - Usage Instruction 1. Field Type: String(128)
      - `pinFlag` boolean — This is to indicate the PIN entry capability of the terminal. -Value defined true: can accept PIN. false:can't accept PIN.
      - `termReadability` '0' | '2' | '5' | '6' | '8' | '9' | 'A' — This is to indicate card data input capability of the terminal.
      - `icCardCondCode` '0' | '1' | '2' — This field is suitable for the UnionPay.
      - `noSecretNoSignFlag` '0' | '1' — This field is suitable for the UnionPay.
    - `e-wallet` object — This is used to send E-Wallet related Information for this transaction - Usage Instruction 1. For POST payment or PaymentMethod request, if paymentMethod.type = ‘e-wallet’, the field must be present 2. Evonet may include this object in response
      - `paymentBrand` string — This is to indicate the payment brand of E-Wallet. - Value defined The accepted values of this field, please refer to e-wallet paymentMethod type of the Appendix Payment Methods - Usage Instruction 1. This field is optional when transInitiator.inStorePaymentScenario=CPM
      - `paymentCode` string — The customer payment code. It generated on wallet client-side on customer's mobile phone. It is usually displayed in the form of barcode or QR code. Merchant terminal scans customer's mobile phone screen to obtain the code. - Usage Instruction 1. This field is mandatory when transInitiator.inStorePaymentScenario=CPM
    - `token` object — This is used to send token related Information for this transaction - Usage Instruction 1. For POST payment or PaymentMethod request, if paymentMethod.type = token, the field must be sent 2. For POST Payment or POST PaymentMethod response. If paymentMethod.type=GooglePay is a tokenized card that consist of device PAN and cryptograms, the field will be present. 3. Evonet may include this object in response
      - `value` string, required — The token value. - Usage Instruction 1. For POST Payment request, this must be sent when paymentMethod.type = token 2. For POST Payment response, this is used in response from Evonet 3. For PUT PaymentMethod, this is used in response from Evonet 4.For POST Payment or POST PaymentMethod response. If paymentMethod.type=GooglePay is a tokenized card that consist of device PAN and cryptograms, the field will be set as masked device PAN. 5.For POST Payment or POST PaymentMethod response. If paymentMethod.type=GooglePay & paymentMethod.GooglePay.tokenize=true is a tokenized card that consist of device PAN and cryptograms, the field will be set as getewayToken value. 6. Field Type: String(64)
      - `type` 'gatewayToken' | 'networkToken' — The type of token. -Usage Instruction 1. If this field is empty, the default value is gatewayToken. 2. Field Type: String(32)
      - `paymentBrand` 'Visa ' | 'Mastercard ' — The payment brand of the network token. -Usage Instruction 1. For POST Payment request, this must be present when paymentMethod.token.type = networkToken
      - `walletIdentifiers` 'SamsungPay' | 'GooglePay' | 'ApplePay' | 'Fitbit' | 'Garmin ' | 'MDESForMerchants ' | 'SRCClick2Pay' — The wallet of the network token -Usage Instruction 1. For POST Payment request, this must be present when paymentMethod.token.type = networkToken and paymentMethod.token.paymentBrand = Mastercard/American_Express. 2. Field Type: String(32)
      - `holderName` string — The cardholder's name of this token. - Usage Instruction 1. Field Type: String(50)
      - `expiryDate` string — The expiration date of the network token. -Usage Instruction 1. Format: MMYY 2. For POST Payment request, this must be present when paymentMethod.token.type = networkToken 3. Field Type: Fixed length, String(4)
      - `tokenCryptogram` string — The cryptogram value of the network token. -Usage Instruction 1. The value is base64 encoded value. 2. For POST Payment request, this must be present when paymentMethod.token.type = networkToken and paymentMethod.recurringReference is not present. 3.When the length is 28 bits, the default is 3DSecure mode, otherwise it is EMV mode 4. Field Type: String(2048)
      - `eci` string — The eci of the network token. -Usage Instruction 1. Field Type: String(2)
    - `points` object — This field is to send points payment related information for this transaction -Usage Instruction: 1. For POST Payment. If paymentMethod.type = points, the field must be present 2. Evonet may include this object in response
      - `paymentBrand` string, required — This is to indicate the payment brand of points payment. - Value defined The accepted values of this field, please refer to points paymentMethod type of the Appendix Payment Methods
    - `onlineBanking` object — This field is to send online banking payment related information for this transaction -Usage Instruction: 1. For POST Payment. If paymentMethod.type = onlineBanking, the field must be present 2. Evonet may include this object in response
      - `paymentBrand` string, required — This is to indicate the payment brand of online banking. - Value defined The accepted values of this field, please refer to onlineBanking paymentMethod type of the Appendix Payment Methods
      - `cardInfo` object — The card information structure for transmitting card information in plain text. -Usage Instruction: 1. If merchant has completed PCI DSS compliance certification, merchant can send card information in this field. 2. When paymentMethod.onlineBanking.cardInfo present, the paymentMethod.onlineBanking.cardInfo will be applied.
        - `cardNumber` string, required — The card number - Usage Instruction 1. If paymentMethod.onlineBanking.cardInfo Object presents, this field must be present 2. Field Type: String(19)
    - `bankTransfer` object — This field is to send virtual account or payment voucher of payment related information for this transaction -Usage Instruction: 1. For POST Payment. If paymentMethod.type = bankTransfer, the field must be present 2. Evonet may include this object in response
      - `paymentBrand` string, required — This is to indicate the payment brand of virtual account. - Value defined The accepted values of this field, please refer to bankTransfer paymentMethod type of the Appendix Payment Methods
    - `buyNowPayLater` object — This field is to send Buy Now Pay Later payment related information for this transaction -Usage Instruction: 1. For POST Payment. If paymentMethod.type = bankTransfer, the field must be present 2. Evonet may include this object in response
      - `paymentBrand` string, required — This is to indicate the payment brand of Buy Now Pay Later. - Value defined The accepted values of this field, please refer to buyNowPayLater paymentMethod type of the Appendix Payment Methods
    - `carrierBilling` object — This field is to send carrier billing payment related information for this transaction -Usage Instruction: 1. For POST Payment. If paymentMethod.type = carrierBilling, the field must be presented. 2. Evonet may include this object in response
      - `paymentBrand` string, required — This is to indicate the payment brand who are support for carrier billing. - Value defined The accepted values of this field, please refer to carrierBilling paymentMethod type of the Appendix Payment Methods
    - `prepaidCard` object — This field is to send prepaid card related information for this transaction. -Usage Instruction: 1. For POST Payment. If paymentMethod.type = prepaidCard, the field must be presented. 2. Evonet may include this object in response
      - `paymentBrand` string, required — This is to indicate the payment brand of prepaid card. - Value defined The accepted values of this field, please refer to prepaidCard paymentMethod type of the Appendix Payment Methods
      - `prepaidNumber` string, required — Prepaid card number. - Usage Instruction 1. For POST Payment. If paymentMethod.type = prepaidCard, the field must be presented. 2. Field Type: String(32)
    - `cash` object — This field is to send konbini (convenience store) payment related information for this transaction. -Usage Instruction: 1. For POST Payment. If paymentMethod.type = cash, the field must be presented. 2. Evonet may include this object in response
      - `paymentBrand` string, required — This is to indicate the payment brand of cash-based payment. - Value defined The accepted values of this field, please refer to cash paymentMethod type of the Appendix Payment Methods
    - `googlePay` object — This field is to send Google Pay-related information for this transaction -Usage Instruction: 1. For POST Payment or POST PaymentMethod. If paymentMethod.type = GooglePay, the field must be present.
      - `encryptedData` string, required — The Google Pay API returns payment methods in a signed and encrypted PaymentMethodToken payload. The returned payment methods are either cards that consist of PAN, or tokenized cards that consist of device PAN and cryptograms. The message returned by Google in the PaymentData response is a UTF-8 encoded, serialized JSON object - Usage Instruction 1. It gets value from Google Pay API's response-paymentData.paymentMethodData.tokenizationData.token field.
      - `paymentBrand` string, required — This is used to indicate the card scheme which the card belongs to. - Usage Instruction 1. It gets value from Google Pay API's response-paymentData.paymentMethodData.tokenizationData.token field
      - `tokenize` boolean — This is used for merchant to indicate whether need to generate token after Payment completed. - Value definition true: use the card information and generate the token. false: do not need to generate a token -Usage Instruction 1. This field is used in POST Payment only. 2. If not present, means default value = false, Evonet will not generate a token for this transaction. 3. If you send the tokenize = true in the POST Payment message, but there is no token object in the response, that means the tokenization is failed.
      - `vaultID` string — The group ID which the token belongs to. This token is unique under same vault ID - Usage Instruction: 1. This ID is assigned in Evonet, and will be provided to customer before integration.
      - `tokenValidDays` '1~365' | '0' | 'not present' — The validity days defined by merchant for the User token. - Value Definition 1~365: the number of validity days. 0: refer to the Usage Instruction not present: refer to the Usage Instruction - Usage Instruction 1. For POST PaymentMethod and POST Payment, 0 and not present mean permanent valid. 2. For PUT PaymentMethod, 0 means permanent valid, not present means not update. 3. For PUT PaymentMethod, 1~365 means renewing the valid time to the date of request date + 1～365 day(s). 4. Field Type: String(3).
  - `authentication` object — The information used for User authentication with Card - Usage Instruction 1. Evonet supports securePlue and threeDS authentication types
    - `type` 'threeDSPage' | 'threeDSIntegrator' | ' FIDOPage' | 'threeDSPageOrFIDOPage' | 'threeDSIntegratorOrFIDOPage' — This is used for Evonet to response merchant which authentication type is applied for this transaction.<br><br> Usage Instruction<br> 1. In the request from merchant, only threeDSPage and threeDSIntegrator are applied<br> 2. In the response from Evonet, all the values are applied.<br> 3. If merchant is configured to support 3DS authentication in EVONET, merchant can send this field in the request of POST PaymentMethod and POST Payment, if not present, default value of threeDSPage is applied<br> 4. If merchant is configured to support 3DS or SecurePlus authentication in Evonet, and authentication is performed, in the response of POST PaymentMerthod and POST Payment, Evonet will include this field to indicate the authentication type<br> 5. In PUT PaymentMethod request, the value in this field must be the same as POST request, if it is not presented, the default value is threeDSPage.<br> 6. Field Type: String(20)<br>
    - `preference` 'required' | 'preferred' — Used to indicate whether authorization can continue when authentication fails - Value defined required: No authorization after authentication fails preferred: Authorization is still performed after authentication fails - Usage Instruction: 1. This field is only valid when allowAuthentication = true 2. When allowAuthentication = true, defalut value is required
    - `threeDS` object — This field includes the related information for 3DS authentication.<br><br> Usage Instruction<br> 1. Merchant can use this object to send information to EVONET for 3DS authentication.<br> 2. If authenticationOnly = true, EVONET sends the 3DS result data (mpiData) to merchant in this field.<br> 3. Merchant can use this object to send 3DS result data (mpiData) to Evonet for payment.<br> 4. If the authentication is finished, EVONET will return the eci and status in this object.<br> 5. If the transaction has been verified by 3DS, EVONET sends the 3DS result data (mpiData) to merchant in this field.
      - `mpiData` object — The 3DS authentication result data - Usage Instruction 1. Evonet will response this data to merchant in POST Payment response, if authenticationOnly=true in the request of POST Payment 2. Mandatory when merchant obtains this data from other service provider, and send to Evonet in POST Payment 3. Evonet will response this data to merchant in POST Payment or GET Payment response, if the transaction has been verified by 3DS.
        - `cavv` string, required — The cavv. The field is authentication value(AV) for 3DS 2.0. The base64 encoded value is accepted or returned in this field. - Usage Instruction 1. Field Type: String(28).
        - `eci` string, required — The electronic commerce indicator. - Usage Instruction 1. Field Type: String(2).
        - `dsTransID` string — dsTransID - Usage Instruction 1. Mandatory for 3D Secure 2 2. Field Type: String (36)
        - `threeDSVersion` string — threeDSVersion - Usage Instruction 1. Mandatory for 3D Secure 2. 2. The current version supported is 2.1.0. 3. Field Type: String(10).
    - `merchantRiskIndicator` object — The merchant risk indicator for 3D Secure 2, which will be sent to authentication service provider - Usage Instruction 1. This is optional in EVONET 2. If merchant wants to send this information, please refer to Authentication Appendix for detail field definition
  - `transInitiator` object, required — Information of terminal to initiate the transaction - Usage instruction 1. Used in the request of PaymentMethod, Payment.
    - `platform` 'WEB' | 'WAP' | 'APP' | 'MINI' | 'INWALLET' | 'POS', required — The type of terminal platform - Usage Instruction 1. When paymentMethod.onlineBanking.paymentBrand=K_PLUS, only WAP/APP/MINI/INWALLET are available for this field. 2. When paymentMethod.onlineBanking.paymentBrand=SCB_Easy_Net, only APP is available for this field. 3. When transInitiator.paymentScenario=inStore, only POS is available for this field. 4. When transInitiator.paymentScenario=EC or not present, only WEB, WAP, APP, MINI and INWALLET is available for this field. . Field Type: String(10)
    - `paymentScenario` 'EC' | 'inStore' — This field is used to identify the payment scenario. - Usage Instruction 1. If not present, means default value=EC. 2. Field Type: String(20)
    - `inStorePaymentScenario` 'CPM' | 'MPM' — The in-store payment scenario - Usage Instruction 1. This field is mandatory when transInitiator.paymentScenario=inStore 2. Field Type: String(20)
    - `terminalID` string — The terminal ID which the transaction was initiated. - Usage Instruction 1. This field is mandatory when transInitiator.paymentScenario=inStore 2. Field Type: String(20)
    - `appVersion` string — The APP version. Max for 20. - Usage Instruction 1. In POST Payment, when paymentMethod.type=e-wallet, platform=APP, this field is applied. 2. Field Type: String(20)
    - `deviceType` 'Android' | 'iOS' — The terminal type: - Usage Instruction 1. In POST PaymentMethod, when paymentMethod.type=e-wallet or onlineBanking, platform=WAP/MINI/INWALLET/APP, this field must be present 2. In POST Payment, when paymentMethod.type=e-wallet, platform=APP, this field is applied. 3. Fired Type: String(20)
    - `deviceID` string — The ID of the client device.<br><br> Usage Instruction<br> 1. Specify this parameter if you can obtain the information from the user. This helps Evonet laundering and fraud detection, and increases payment success rates.<br> 2. Field Type: String(64)
    - `userCreateIP` string, required — The IP address of the terminal where the user initiates the transaction.<br><br> Usage Instruction<br> 1. Mandatory when paymentMethod.e-wallet.paymentBrand = WeChat_Pay and transInitiator.platform = WAP.<br> 2. Specify this parameter if you can obtain the information from the user. This helps Evonet laundering and fraud detection, and increases payment success rates.<br> 3. Please use public IP address.<br> 4. When authentication.type is FIDOPage, threeDSPageOrFIDOPage or threeDSIntegratorOrFIDOPage, this field is mandatory.
    - `tokenCookie` string — Forter token cookie from request headers - Usage Instruction: 1. Mandatory when enhanceMonitoring=true. 2. Field Type: String(128)
    - `latitude` string — Real-time latitude of the user device. - Usage Instruction 1. Format: “+” / “-” + 2-digit integer part + 1-digit decimal point “.” + decimal part (6 digits in maximum). “+” is northern latitude, and “-” is southern latitude. For instance: +31.221345 or -03.561345. 2. This field is used when authentication.type is FIDOPage, threeDSPageOrFIDOPage or threeDSIntegratorOrFIDOPage unless the consumer has declined to share his/her location.
    - `longitude` string — Real-time longitude of the user device. - Usage Instruction 1.Format: “+” / “-” + 3-digit integer part + 1-digit decimal point “.” + decimal part (5 digits in maximum). “+” is east longitude, and “-” is west longitude. For instance: +121.48352 2. This field is used when authentication.type is FIDOPage, threeDSPageOrFIDOPage or threeDSIntegratorOrFIDOPage unless the consumer has declined to share his/her location.
    - `browserInfo` object — The user browser information for 3DS authentication, which will be sent to authentication service provider.<br><br> Usage Instruction<br> 1. In Evonet, each merchant is configured with Non-Authentication, Optional-Authentication and Must-Authentication. When store is configured Optional-Authentication or Must-Authentication this object is applied.<br> 2. Mandatory when the field authentication.type = threeDSIntegrator.
      - `acceptHeader` string, required — The accept header value of user browser - Usage Instruction 1. Field Type: String(2048)
      - `colorDepth` string, required — The color depth of the user browser, in pixels. - Usage Instruction 1. Use the screen.colorDepth property of the browser to get the value 2. Accepted value: 1, 4, 8, 15, 16, 24, 32, 48 bits 3. Field Type: String(2)
      - `javaEnabled` string — A boolean value indicating whether the user's browser is able to execute Java
      - `language` string, required — The value that represents the browser language defined in IETF BCP47, - Usage Instruction 1. returned from the navigator.language property. Examples: en-GB 2. Field Type: String(8).
      - `screenHeight` string, required — The total height of the user's screen in pixels. - Usage Instruction 1. The value is returned from the screen.height property. 2. Field Type: String(6).
      - `screenWidth` string, required — The total width of the user's screen in pixels. - Usage Instruction 1. The value is returned from the screen.width property. 2. Field Type: String(6).
      - `timeZoneOffset` string, required — The time difference between the UTC time and the local time of the user's browser, in minutes. - Usage Instruction 1. The value is got from the getTimezoneOffset () method. For example, "-120". 2. Field Type: String(5).
      - `userAgent` string, required — The user agent value of the user's browser. - Usage Instruction 1. Field Type: String(2048).
  - `tradeInfo` object — Detailed information about the transaction.<br><br> Usage Instruction<br> 1. When paymentBrand = Alipay or AlipayHK, this field must be present.<br> 2. Specify this parameter if you can obtain the information from the user. This helps Evonet laundering and fraud detection, and increases payment success rates.
    - `tradeType` 'Hotel' | 'Airline' | 'Sale of goods' | 'TopUp' | 'Player' | 'CDKey' | 'Others' — The trade type. - Usage Instruction 1. Mandatory when transInitiator.paymentScenario is EC or not present. 2. Field Type: String(20)
    - `hotelName` string — The hotel name. - Usage Instruction 1. Mandatory when tradeType is Hotel. 2. Field Type: String(128).
    - `checkInTime` string, date-time — The check-in time. -Uasge Instruction 1. the check-in time for this transaction 2. Format: RFC3339. 3. Mandatory when tradeType is Hotel. 4. For example, 2006-01-02T15:04:05+07:00.
    - `checkOutTime` string, date-time — The check-out time. - Usage Instruction 1. The check-out time for this transaction 2. Format: RFC3339. 3. Mandatory when tradeType is Hotel. 4. For example, 2006-01-02T15:04:05+07:00.
    - `flightNumber` string — The flight number. - Usage Instruction 1. Mandatory when tradeType is Airline. 2. If multiple parameters are sent, separate them with commas. For example, CZ689,MU5910. 3. Field Type: String(30)
    - `departureTime` string, date-time — The departure time. - Usage Instruction 1. The transaction time submitted by the merchant. 2. Format: RFC3339. 3. Mandatory when tradeType is Airline. 4. For example, 2006-01-02T15:04:05+07:00.
    - `goodsName` string — The name of the goods. - Usage Instruction 1. Mandatory when tradeType is Sale of goods. 2. For example, iPhone XR. 3. Field Type: String(128)
    - `goodsDescription` string — The description of the goods. - Usage Instruction 1. If multiple parameters are sent, separate them with commas. 2. Mandatory when tradeType is Sale of goods, TopUp, Player or CDKey. 3. For example, iPhone XR 512G Gold,iPad 12.9 256G. 4. Field Type: String(256)
    - `totalQuantity` string — The total quantities of all goods in one order. - Usage Instruction 1. Mandatory when tradeType is Sale of goods. 2. Value range is 1-99. For example, 2. 3. Field Type: String(2)
    - `goodsList` 'goodsName' | 'price' | 'goodsNum' | 'goodsId' | 'unifiedGoodsId' | 'goodsCategory' | 'body' | 'showUrl' — This is the detailed information about the goods in this transaction.<br><br> Usage Instruction<br> 1. This is used in some special promotion activity from E-Wallet, i.e. Alipay.<br> 2. Merchant may contact Evonet product team for detail usage of this field.<br> 3. To show the goods details. Json array.<br> 4. Sample: {"goodsList": "[{\"goodsId\":\"iphone6s16G\", \"unifiedGoodsId\": \"1001\", \"goodsName\": \"iPhone6s 16G\", \"goodsNum\": \"1\", \"price\": \"528800\", \"goodsCategory\":\"123456\", \"body\": \"iPhone 16G\", \"showUrl\":\"www.cardinfolink.com\"}, {\"goodsId\": \"iphone6s32G\",\"unifiedGoodsId\": \"1002\", \"goodsName\": \"iPhone6s 32G\", \"quantity\":\"1\", \"price\": \"608800\", \"goodsCategory\": \"123789\", \"body\": \"iPhone32G\", \"showUrl\": \"www.evonetglobal.com\"}]"}
  - `userInfo` object, required — Detailed information about the buyer.<br><br> Usage Instruction<br> 1. Used in POST Payment request and POST PaymentMethod request, to send the buyer's information.<br> 2. Specify this parameter if you can obtain the information from the user. This helps Evonet laundering and fraud detection, and increases payment success rates.
    - `nameEn` object — Buyer name in English
      - `familyName` string, required — The family name of user
      - `givenName` string, required — The given name of user
    - `nameLocal` object — Buyer name in local language 1. For POST Payment request, this field must be present when paymentMethod.type=bankTransfer and paymentBrand=Bank_Transfer_JPN. 2. For POST Payment request, when paymentMethod.type=bankTransfer and paymentBrand=PayEasy, decide whether this field needs to be submitted. You can call Get PaymentMethod API to query or consult your acquirer for confirmation.
      - `familyName` string, required — The given name of user
      - `givenName` string, required — The given name of user
    - `nameZh` object — Buyer name in Chinese 1. For POST Payment request, this field must be present when paymentMethod.type=bankTransfer and paymentBrand=Bank_Transfer_JPN. 2. For POST Payment, this field must be present when paymentMethod.type=buyNowPayLater and paymentBrand=Paidy. 3. For POST Payment request, when paymentMethod.type=bankTransfer and paymentBrand=PayEasy, decide whether this field needs to be submitted. You can call Get PaymentMethod API to query or consult your acquirer for confirmation.
      - `familyName` string, required — The given name of user
      - `givenName` string, required — The given name of user
    - `homePhone` object — The home phone number provided by user. - Usage Instruction: Refer to ITU-E.164 for additional information on format and length.
      - `countryCode` string — The country code sections of the homePhone.
      - `subscriberSections` string, required — The subscribe sections of the homePhone.
    - `mobilePhone` object — The mobile phone number provided by user. - Usage Instruction: 1. Refer to ITU-E.164 for additional information on format and length. 2. When authentication.type is FIDOPage, threeDSPageOrFIDOPage or threeDSIntegratorOrFIDOPage,this field is mandatory if no email address(userInfo.email) is provided. 3. For POST Payment, this field must be present when paymentMethod.type=bankTransfer and paymentBrand=Bank_Transfer_JPN. 4. For POST Payment request, when paymentMethod.type=bankTransfer and paymentBrand=PayEasy, decide whether this field needs to be submitted. You can call Get PaymentMethod API to query or consult your acquirer for confirmation.
      - `countryCode` string — The country code sections of the mobilePhone. - Usage Instruction: 1. When authentication.type is FIDOPage, threeDSPageOrFIDOPage or threeDSIntegratorOrFIDOPage,this field is mandatory.
      - `subscriberSections` string, required — The subscribe sections of the mobilePhone.
    - `workPhone` object — The work phone number provided by user. - Usage Instruction: Refer to ITU-E.164 for additional information on format and length.
      - `countryCode` string — The country code sections of the workPhone.
      - `subscriberSections` string, required — The subscribe sections of the workPhone.
    - `email` string, required — User's email address -Usage Instruction 1. For POST Payment, if paymentMethod.buyNowPayLater.paymentBrand=afterpay, this field must be present 2. When authentication.type is FIDOPage, threeDSPageOrFIDOPage or threeDSIntegratorOrFIDOPage,this field is mandatory if no no phone number(userInfo.mobilePhone) is provided. 3. If paymentMethod.onlineBanking.paymentBrand is DP_BDOInternetBanking、DP_MetrobankOnlineBanking、DP_LandbankATMOnline、DP_BPIOnline、DP_ChinabankOnlineBillsPayment、DP_RCBCOnlineBanking、DP_PNBInternetBankingBillsPayment、DP_SecurityBankCashPayment、DP_EastWestOnlinePayment、DP_AUBOnlinePayment、Dragonpay, this field is mandatory.
    - `reference` string — The User ID obtained or assigned by merchant, and used for merchant reference.<br><br> Usage Instruction<br> 1. This field is mandatory when Evonet needs to generate token, which is as the reference for the token.<br> 2. For POST PaymentMethod, this field must be present.<br> 3. For POST Payment, if paymentMethod.type.card.tokenize = true, this field must be present.<br> 4. For PUT PaymentMethod request, this field is used to update token.<br> 5. Field Type: String(64)
    - `locale` string — Language in which the app communicates or merchant page with the customer. Based on ISO format for language (ISO 639-1) and alpha 2 country code (ISO 3166-1 alpha-2). The language and country should be separated using an underscore ( _ ). e.g. en_US.
    - `accountInfo` object — The user account information for 3D Secure 2, which will be sent to authentication service provider- Usage Instruction1. This is optional in Evonet2. If merchant wants to send this information, please refer to Authentication Appendix for detail field definition
      - `accountAgeIndicator` 'notApplicable' | 'thisTransaction' | 'lessThan30Days' | 'from30To60Days' | 'moreThan60Days' — Length of time that the cardholder has had the account with the Transaction Requestor.
      - `accountChangeDate` string — Date that the cardholder’s account with the Transaction Requestor was last changed, including Billing or Shipping address, new payment account, or new user(s) added. - Usage Instruction: 1. Format: YYYYMMDD 2. Field Type: String(8)
      - `accountChangeIndicator` 'thisTransaction' | 'lessThan30Days' | 'from30To60Days' | 'moreThan60Days' — Length of time since the cardholder’s account information with the Transaction Requestor was last changed, including Billing or Shipping address, new payment account, or new user(s) added.
      - `accountCreationDate` string — Date that the cardholder opened the account with the Transaction Requestor. - Usage Instruction: 1. Format: YYYYMMDD 2. Field Type: String(8)
      - `passwordChangeDate` string — Date that cardholder’s account with the Transaction Requestor had a password change or account reset. - Usage Instruction: 1. Format: YYYYMMDD 2. Field Type: String(8)
      - `passwordChangeDateIndicator` 'notApplicable' | 'thisTransaction' | 'lessThan30Days' | 'from30To60Days' | 'moreThan60Days' — Indicates the length of time since the cardholder’s account with the Transaction Requestor had a password change or account reset.
      - `purchasesLast6Months` string — Number of purchases with this cardholder account during the previous six months.
      - `addCardAttemptsDay` string — Number of Add Card attempts in the last 24 hours.
      - `pastTransactionsDay` string — Number of transactions (successful and abandoned) for this cardholder account with the Transaction Requestor across all payment accounts in the previous 24 hours. - Usage Instruction: 1. Sample: 2, 02, 002 2. Field Type: String(3)
      - `pastTransactionsYear` string — Number of transactions (successful and abandoned) for this cardholder account with the Transaction Requestor across all payment accounts in the previous year. - Usage Instruction: 1. Sample: 2, 02, 002 2. Field Type: String(3)
      - `paymentAccountAge` string — Date that the payment account was enrolled in the cardholder’s account with the Transaction Requestor. - Usage Instruction: 1. Format: YYYYMMDD 2. Field Type: String(8)
      - `paymentAccountIndicator` 'notApplicable' | 'thisTransaction' | 'lessThan30Days' | 'from30To60Days' | 'moreThan60Days' — Indicates the length of time that the payment account was enrolled in the cardholder’s account with the Transaction Requestor.
      - `deliveryAddressUsageDate` string — Date when the shipping address used for this transaction was first used with the Transaction Requestor. - Usage Instruction: 1. Format: YYYYMMDD 2. Field Type: String(8)
      - `deliveryAddressUsageIndicator` 'thisTransaction' | 'lessThan30Days' | 'from30To60Days' | 'moreThan60Days' — Indicates when the shipping address used for this transaction was first used with the Transaction Requestor.
      - `shippingNameIndicator` boolean — Indicates if the Cardholder Name on the account is identical to the shipping Name used for this transaction. - Value defined: true: Account Name identical to shipping Name false: Account Name different than shipping Name - Usage Instruction: 1. Field Type: Boolean
      - `suspiciousActivity` boolean — Indicates whether the Transaction Requestor has experienced suspicious activity (including previous fraud) on the cardholder account. - Value defined: true: Suspicious activity has been observed false: No suspicious activity has been observed - Usage Instruction: 1. Field Type: Boolean
    - `deliveryAddress` object — The delivery address. Mandatory if Authentication Service Provider uses it as the authentication way.
      - `city` string — City portion of the shipping address requested by the Cardholder.
      - `country` string, required — Country of the shipping address requested by the Cardholder. - Usage Instruction: 1. Defined in ISO-3166-1 alpha-3. For example, HKG. 2. Field Type: String(3)
      - `addressLine1` string — First line of the street address or equivalent local portion of the shipping address requested by the Cardholder. - Usage Instruction: 1. When authentication.type is FIDOPage, threeDSPageOrFIDOPage or threeDSIntegratorOrFIDOPage and userInfo.deliveryAddress is exist,this field is mandatory.
      - `addressLine2` string — The second line of the street address or equivalent local portion of the shipping address requested by the Cardholder.
      - `addressLine3` string — The third line of the street address or equivalent local portion of the shipping address requested by the Cardholder.
      - `postalCode` string, required — The ZIP or other postal code of the shipping address requested by the Cardholder.
      - `stateOrProvince` string — The state or province of the shipping address associated with the card being used for this purchase. - Value defined The accepted values of this field, please refer to ISO Alpha Country subdivision Code of the Appendix 8.9 State and Province Code - Usage Instruction: 1. Should be the country subdivision code defined in ISO 3166-2. 2. For example, using the ISO entry US-CA (California, United States), the correct value for this field = CA. Note that the country and hyphen are not included in this value. 3. Field Type: String(3)
    - `billingAddress` object — The billing address, which will be passed to authentication service provider - Usage Instruction 1. For POST Payment, this field must be present when paymentMethod.type=buyNowPayLater and paymentBrand=Paidy.
      - `city` string — City portion of the shipping address requested by the Cardholder.
      - `country` string, required — Country of the shipping address requested by the Cardholder. - Usage Instruction: 1. Defined in ISO-3166-1 alpha-3. For example, HKG. 2. Field Type: String(3)
      - `addressLine1` string — First line of the street address or equivalent local portion of the Cardholder billing address associated with the card used for this purchase. - Usage Instruction: 1. When authentication.type is FIDOPage, threeDSPageOrFIDOPage or threeDSIntegratorOrFIDOPage and userInfo.billingAddress is exist,this field is mandatory. 2. For POST Payment, this field must be present when paymentMethod.type=buyNowPayLater and paymentBrand=Paidy.
      - `addressLine2` string — Second line of the street address or equivalent local portion of the Cardholder billing address associated with the card used for this purchase. - Usage Instruction: 1. For POST Payment, this field must be present when paymentMethod.type=buyNowPayLater and paymentBrand=Paidy.
      - `addressLine3` string — The third line of the street address or equivalent local portion of the shipping address requested by the Cardholder.
      - `postalCode` string, required — The ZIP or other postal code of the shipping address requested by the Cardholder.
      - `stateOrProvince` string — The state or province of the shipping address associated with the card being used for this purchase. - Value defined The accepted values of this field, please refer to ISO Alpha Country subdivision Code of the Appendix 8.9 State and Province Code - Usage Instruction: 1. Should be the country subdivision code defined in ISO 3166-2. 2. For example, using the ISO entry US-CA (California, United States), the correct value for this field = CA. Note that the country and hyphen are not included in this value. 3. For POST Payment, this field must be present when paymentMethod.type=buyNowPayLater and paymentBrand=Paidy. 3. Field Type: String(3)
  - `subMerchantInfo` object — Information of merchant to initiate the transaction. - Usage instruction 1. Used in the request of Payment.
    - `merchantID` string — Merchant ID - Usage Instruction 1. Field Type: String(64)
    - `merchantName` string — Merchant Name - Usage Instruction 1. Field Type: String(128)
    - `mcc` string — Merchant Category Code - Usage Instruction 1. Field Type: String(4)
  - `webhook` string — This filed is used for merchant to provide asynchronous notification address- Usage Instruction1. Merchant may provide this information in the request message, once it is processed successfully, Evonet will send back notification to this address2. The format of the webhook must contain http:// or htps://3. Field Type: String(300)
  - `metadata` string — This field is used for merchant to state reference information- Usage Instruction1. If merchant sends this field in the request message, Evonet will echo it back in the response 2. Field Type: String(512)
  - `allowAvsCheck` string — This is to indicate if an AVS (Address Verification Service) check should be performed.<br><br> Usage Instruction<br> 1. This field is used in POST Payment requests only. If true, Evonet will perform an AVS check for the card transaction.<br> 2. If not present, default value = false, Evonet will skip AVS check.<br> 3. Field Type: Boolean (true / false)

## Response `200`

- object
  - `result` object, required — The result information for the transaction processed - Usage Instruction 1. Used in the response of PaymentMethod, Payment, Capture, Cancel and Refund
    - `code` string, required — This is the code of result from Evonet about the transaction processed - Value defined Refer to <result code>. - Usage Instruction 1. Field Type: String(8)
    - `message` string, required — This is the description about the code of result - Value defined Refer to <result code>. - Usage Instruction 1. Field Type: String(1024)
    - `category` 'M' | 'N' | 'E' | 'S' | 'H' | 'R' — The category of the response code.
    - `pspResponseCode` string — This is the Response code from the PSP. - Usage Instruction 1. If the PSP returns a response code for the transaction, Evonet will forward to merchant in this field 2. Field Type: String(1024)
    - `pspMessage` string — This is the Response code from the PSP. - Usage Instruction 1. If the PSP returns a response code for the transaction, Evonet will forward to merchant in this field 2. Field Type: String(1024)
  - `action` object — This object is to define the next step action for merchant or Evonet, with the related data when performing the action
    - `type` 'threeDSRedirect' | 'threeDSIdentify' | 'threeDSChallenge' | 'inputMobilePhone' | 'inputOTP' | 'redirectUser' | 'redirectInIframe' | 'presentQRCode' | 'invokeWallet' | 'resendOTP' | 'presentEcontext' | 'promptUser' | 'completed', required — This field includes the action type for merchant or Evonet to perform.<br> The description of each value, please refer to Appendix 8.9 Action Type.<br><br> Usage Instruction<br> Field Type: String(32)
    - `threeDSData` object — This object is the data when performing the action when action.type=threeDSRedirect, threeDSIdentify or threeDSChallenge.
      - `url` string — The URL address. Merchant redirects the user to this URL by the method specified in action.threeDSData.method.<br><br> Usage Instruction<br> 1. When performing 3DS authentication in threeDSPage mode, this field in the POST PaymentMethod or POST Payment response message, with action.type=threeDSRedirect, specifies the Evonet hosted authentication page, which is a blank page that completes the complex authentication process with different card schemes.<br> 2. When performing 3DS authentication in threeDSIntegrator mode, this field in the POST PaymentMethod or POST Payment response message, with action.type=threeDSRedirect, threeDSIdentify or threeDSChallenge, specifies the card scheme or issuer authentication page.<br> Field Type: String(2048)
      - `method` 'GET' | 'POST' — The HTTP method when performing the redirection. - Usage Type Field Type: String(8)
      - `parameter` object — The 3DS redirection parameter returned by Evonet. Merchant needs to submit the parameter(s) in this object when redirect to action.threeDSData.url.
        - `PaReq` string — The 3DS request data for the issuer.<br><br> Usage Instruction<br> When performing 3DS authentication in threeDSIntegrator mode, this field in the POST PaymentMethod or POST Payment response message, with action.type=threeDSRedirect, specifies the required data that merchant needs to POST as a form element to the 3DS authentication page.<br> Field Type: String(30000)
        - `MD` string — The payment session identifier returned by the card issuer.<br><br> Usage Instruction<br> When performing 3DS authentication in threeDSIntegrator mode, this field in the POST PaymentMethod or POST Payment response message, with action.type=threeDSRedirect, specifies the required data that merchant needs to POST as a form element to the 3DS authentication page.<br> Field Type: String(300)
        - `TermUrl` string — After completing 3DS authentication on the card issuer site, the user is redirected back to the merchant site. This URL value specifies which merchant site page the user goes back to.<br><br> Usage Instruction<br> When performing 3DS authentication in threeDSIntegrator mode, this field in the POST PaymentMethod or POST Payment response message, with action.type=threeDSRedirect, specifies the required data that merchant needs to POST as a form element to the 3DS authentication page.<br> Field Type: String(300)
        - `creq` string — The 3DS Challenge request data for the issuer.<br><br> Usage Instruction<br> When performing 3DS authentication in threeDSIntegrator mode, this field in the PUT PaymentMethod or PUT Payment response message, with action.type=threeDSChallenge, specifies the required data that merchant needs to POST as a form element to the 3DS authentication page.<br> Field Type: String(30000)
        - `threeDSMethodData` string — The 3DS Method Data.<br> The base64 data that the user's browser sends to ACS URL(action.threeDS.url).<br><br> Usage Instruction<br> When performing 3DS authentication in threeDSIntegrator mode, this field in the POST PaymentMethod or POST Payment response message, with action.type=threeDSIdentify, specifies the required data that merchant needs to POST as a form element to the ACS URL.<br> Field Type: String(2048)
    - `redirectData` object — This object is the data when performing the action when action.type = redirectUser or redirectInIframe.
      - `url` string, required — The URL to redirect to. Merchant redirects the user to this URL by the method specified in action.redirectData.method. -Usage Instruction 1. When performing the tokenization with Alipay, this field in the POST PaymentMethod response message, with action.type=redirectUser, specifies the Alipay pre-contract page for user to sign the agreement with Alipay. 2. When performing the payment with E-Wallets including (a) Alipay, Alipay+ and Jkopay on PC WEB, (b) Alipay, Alipay+, Alipay HK, WeChat Pay and Jkopay on Mobile WAP, and (c) WeChat Pay in Official Account, this field in the POST Payment response message, with action.type=redirectUser, specifies the wallet payment page for user to complete the payment. Same as when performing the payment with SecurePay for UnionPay on PC WEB, Mobile WAP and wallet APP. 3. When performing the payment with E-Wallet on PC WEB using Alipay HK, this field in the POST Payment response message, with action.type=redirectInIframe, specifies the wallet QR code page for user to scan and pay. Please note that instead of a simple redirection for the whole page, merchant need to render an iframe on its payment page and perform the redirection in the iframe to show the wallet QR code to guide user to pay. Note: If your Alipay merchant account is Alipay HK account, when performing the payment with E-Wallet on PC WEB using Alipay, also need redirect in the iframe. Field Type: String(4096)
      - `method` 'GET' | 'POST' — The HTTP method when performing the redirection. - Usage Instruction Field Type: String(8)
      - `parameter` string — The redirection parameter returned by Evonet.<br><br> Usage Instruction<br> 1. When method = POST, merchant needs to send this field to redirectData.url with the HTTP POST.<br> Field Type: String(4096)
    - `qrData` object — This object is the data when performing the action with action.type=presentQRCode.
      - `qrCode` string — The contents of the QR code as a UTF8 string. Merchant renders the QR code on its payment page with this content for user to scan and pay.<br><br> Usage Instruction<br> When performing payment with E-Wallet, this field in the POST Payment response message, with action.type=presentQRCode, specifies the QR code data from the wallet provider.<br> Field Type: String(1024)
      - `qrDownloadURL` string — The contents of the QR code image download address. Merchant needs download it and display on payment page. -Usage Instruction 1. When performing payment with E-wallet and paymentBrand is PromptPay, this field in the POST Payment response message, with action.type=presentQRCode, specifies the QR code image download address from the wallet provider. 2. For PromptPay, the image format is .SVG. Field Type: String(1024)
      - `expiredAt` string, date-time — This is to state when the QR code will be expired. -Usage Instruction 1. This value of this field is based on the field of validTime in the request message from merchant, or the defult value from E-Wallet if field of validTime does not present. 2. Field type: Datetime 3. Format: ISO 8601 YYYY-MM-DDThh:mm:ssTZD 4. Sample: 2017-07-17T13:42:40+01:00.
    - `walletData` object — This object is the data when performing the action with action.type=invokeWallet.
      - `paymentString` string, required — The parameters required to invoke the wallet APP. Merchant invokes the wallet APP by a redirection with this parameter. -Usage Instruction 1. When performing the tokenization with WeChat Pay in WeChat Mini-Program, this field in the POST PaymentMethod response message, with action.type=invokeWallet, specifies the parameters required to invoke WeChat Pay pre-contract page for user to sign the agreement with WeChat Pay. 2. When performing the payment with WeChat Mini-Program or Alipay, Alipay HK or WeChat Pay in their wallet APP, this field in the POST Payment response message, with action.type=invokeWallet, specifies the parameters required to invoke the wallet APP payment page for user to complete the payment. Field Type: String(20000)
    - `econtext` object — This object is the data when performing the action when action.type=presentEcontext.
      - `confirmationCode` string — The confirmation number that merchant needs to diplay on payment page for user to complete the subsequent payment process at convenience stores. - Usage Instruction 1. When performing payment with paymentBrand = Ministop_JPN, Lawson_JPN, Family_Mart_JPN and PayEasy, this field in the response message of POST Payment and GET payment, with action.type=presentEcontext, specifies the confirmation code provided by convenience store payment. 2. Field type: string(32)
      - `paymentCode` string — A number customers that merchant needs to diplay on payment page for user to complete the follow-up payment process at convenience stores. - Usage Instruction 1. When performing paymentBrand=Daily_Yamazaki, Family_Mart_JPN, Lawson_JPN, Ministop_JPN, Seicomart and Seven_Eleven_JPN, this field in the response message of POST Payment and GET payment, with action.type=presentEcontext, specifies the payment code from convenience store payment providers. 2. Field type: string(32)
      - `customerFee` string — Additional fee charged to users for specific payment brands. - Usage Instruction 1. When performing paymentBrand=Daily_Yamazaki, Family_Mart_JPN, Lawson_JPN, Ministop_JPN, Seicomart, Seven_Eleven_JPN, PayEasy and Bank_Transfer_JPN, this field in the response message of POST Payment and GET payment, with action.type=presentEcontext, specifies the payment code from convenience store payment providers. 2. Field type: string(32)
      - `orderID` string — Remitters/payers name that merchant needs to display on payment page for user to send money as. - Usage Instruction 1. When performing paymentBrand=Bank_Transfer_JPN, this field will return in the response message of POST Payment and GET payment, with action.type=presentEcontext, specifies the remitter name. 2. Field type: string(24)
      - `bankName` string — The name of the bank of receving account that merchant needs to display on payment page for user to wire funds. - Usage Instruction 1. When performing paymentBrand=Bank_Transfer_JPN, this field will return in the response message of POST Payment and GET payment, with action.type=presentEcontext, specifies the bank name of receving account. 2. Field type: string(300)
      - `accountBranchName` string — The account branch name of receving account that merchant needs to display on payment page for user to wire funds. - Usage Instruction 1. When performing paymentBrand=Bank_Transfer_JPN, this field will return in the response message of POST Payment and GET payment, with action.type=presentEcontext, specifies the bank branch name of receving account. 2. Field type: string(300)
      - `accountBranchCode` string — The account branch code of receving account that merchant needs to display on payment page for user to wire funds. - Usage Instruction 1. When performing paymentBrand=Bank_Transfer_JPN, this field will return in the response message of POST Payment and GET payment, with action.type=presentEcontext, specifies the bank branch name of receving account. 2. Field type: string(24)
      - `accountNumber` string — The account number of receving account that merchant needs to display on payment page for user to wire funds. - Usage Instruction 1. When performing paymentBrand=Bank_Transfer_JPN, this field will return in the response message of POST Payment and GET payment, with action.type=presentEcontext, specifies the account number of receving account. 2. Field type: string(32)
      - `accountType` 'savings' | 'checking' — The account type of receving account that merchant needs to display on payment page for user to wire funds. - Usage Instruction 1. When performing paymentBrand=Bank_Transfer_JPN, this field will return in the response message of POST Payment and GET payment, with action.type=presentEcontext, specifies the account type of receving account. 2. Field type: string(12)
      - `accountName` string — The account name of receving account that merchant needs to display on payment page for user to wire funds. - Usage Instruction 1. When performing paymentBrand=Bank_Transfer_JPN, this field will return in the response message of POST Payment and GET payment, with action.type=presentEcontext, specifies the account type of receving account. 2. Field type: string(300)
      - `bankID` string — The institution of receving account that merchant needs to display on payment page for user to complete the follow-up payment process via PayEasy. - Usage Instruction 1. When performing paymentBrand=PayEasy, this field will return in the response message of POST Payment and GET payment, with action.type=presentEcontext, specifies the institution number. 2. Field type: string(32)
      - `customerID` string — The customer number of receving account that merchant needs to display on payment page for user to complete the follow-up payment process via PayEasy. - Usage Instruction 1. When performing paymentBrand=PayEasy, this field will return in the response message of POST Payment and GET payment, with action.type=presentEcontext, specifies the customer number. 2. Field type: string(32)
      - `expiryDate` string, date-time — The payment due date by which user must complete the follow-up payment process. - Usage Instruction 1. When performing paymentBrand=Daily_Yamazaki, Family_Mart_JPN, Lawson_JPN, Ministop_JPN, Seicomart, Seven_Eleven_JPN, Bank_Transfer_JPN and PayEasy, this field will return in the response message of POST Payment and GET payment, with action.type=presentEcontext, specifies the payment deadline. 2. Field type: Datetime 3. Format: ISO 8601 YYYY-MM-DDThh:mm:ssTZD 4. Sample: 2017-07-17T13:42:40+01:00.
      - `instructionURL` string — A URL for an instructions page that merchant needs to display it on payment page to guide users. - Usage Instruction 1. When performing paymentBrand=Bank_Transfer_JPN, Daily_Yamazaki, Family_Mart_JPN, Lawson_JPN, Ministop_JPN, Seicomart, Seven_Eleven_JPN and PayEasy, this field will return in the response message of POST Payment and GET payment, with action.type=presentEcontext, specifies the instruction page URL. 2. Field type: string(300)
    - `promptInfo` object — This field includes the Payment Method information, including Payment Method selected by User for Payment, and the Payment Method supported by the merchant
      - `message` string, required — The contents of what you need to prompt the user. - Usage Instruction 1. When user needs to enter the passward to confirm in CPM scenario, you will recieve this message as "Prompt user for password"
  - `paymentMethod` object — This field includes the Payment Method information, including Payment Method selected by User for Payment, and the Payment Method supported by the merchant
    - `recurringReference` string — The recurringReference that uniquely identifies the recurring transaction. Merchant will needs this to make future payments for the user. - Usage Instruction 1. For POST Payment response, PUT Payment response GET Payment response, Payment Notification , POST PaymentMethod response, PUT PaymentMethod response, GET PaymentMethod response and PaymentMethod Notification, it is generated by Evonet. 2. For POST Payment request, it is present for future payments. 3. Field Type: String(64)
    - `paymentMethodVariant` 'GPWallet' | 'Postpaid' | 'Instalment_4' | 'Alipay' | 'TrueMoney Wallet' | 'AlipayHK' | 'TNG eWallet' | 'GCash' | 'DANA' | 'Kakao Pay' | 'Rabbit LINE Pay' | 'BPI' | 'Boost' | 'Akulaku PayLater' | 'Recurring' | 'COF' | 'Card' | 'Balance' — This is to indicate the sub Payment Method of a transaction. - Value defined The accepted values of this field, please refer to e-wallet paymentMethod type of the Appendix: Payment Method Variant - Usage Instruction 1. All values are applied in response from Evonet 2. Field Type: String(32)
    - `isNetworkToken` boolean — This field is used to indicate the transaction is pay by network token or not. - Usage Instruction 1. If true, means this transaction is paid by network token. 2. If not present, means default value = false 3. Field Type: Boolean
    - `accountUpdateIndicator` 'Y' | 'N' — Account Update Indicator - Usage Instruction 1. This field is suitable for the paymentBrand=Visa
    - `card` object — his field is to send card related information for this transaction -Usage Instruction: 1. For POST Payment or POST PaymentMethod. If paymentMethod.type = card, the field must be present 2. For PUT PaymentMethod. Merchant may send this field to update the card information corresponding to the token. 3. Evonet may include this object in response 4. For POST Payment or POST PaymentMethod response. If paymentMethod.type=GooglePay & The paymentMethod.encryptedData is a card that consists of PAN, the field will be present.
      - `first6No` string, required — The first 6 digits of the card number - Usage Instruction 1. This field is used in response from Evonet 2.For POST Payment or POST PaymentMethod response. If paymentMethod.type=GooglePay & The paymentMethod.encryptedData is a card that consists of PAN, the field will be present. 3. Field Type: String(6)
      - `last4No` string, required — The last 4 digits of the card number - Usage Instruction 1. This field is used in response from Evonet 2.For POST Payment or POST PaymentMethod response. If paymentMethod.type=GooglePay & The paymentMethod.encryptedData is a card that consists of PAN, the field will be present. 3. Field Type: String(4)
      - `paymentBrand` string — This is used to indicate the card scheme which the card belongs to - Value defined The accepted values of this field, please refer to card paymentMethod type of the Appendix 8.8 payment brands - Usage Instruction: 1. This is used in response from Evonet 2.For POST Payment or POST PaymentMethod response. If paymentMethod.type=GooglePay & The paymentMethod.encryptedData is a card that consists of PAN, the field will be present. 3. Field Type: String(32)
      - `fundingType` 'credit' | 'debit' | 'prepaid' — This is used to indicate the type of the card - Usage Instruction 1. This field is used in response from Evonet 2. Field Type: String(32)
      - `holderName` string — The cardholder name - Usage Instruction 1. This field is used in the response from Evonet 2. Field Type: String(50)
      - `issuingBank` string — The name of Issuing Bank - Usage Instruction 1. This field is used in response from Evonet 2. Field Type: String(16)
      - `issuingCountry` string — The card issuing country. - Usage Instruction 1. This field is used in response from Evonet 2. The three-character country code as defined in ISO-3166-1 alpha-3. For example, SGP. 3. Field Type: String(3)
      - `issuerCountry` string — The cardholder's country. - Usage Instruction 1. This field is used in response from Evonet 2. The three-character country code as defined in ISO-3166-1 alpha-3. For example, SGP. 3. Field Type: String(3)
      - `isCommercial` boolean — This is used to response whether the card is a business card. -Value defined true: this card is a business card false: this card is not a business card - Usage Instruction 1. This field is used in response from Evonet 2. Field Type: boolean
      - `productID` string — The card product ID. - Usage Instruction 1. This field is used in response from Evonet 2. Field Type: String(30)
      - `updatedCardInfo` string — The updated card information. -Usage Instruction: 1. If paymentMethod.type=card & paymentMethod.accountUpdateIndicator is not empty & Have configured ‘API Resp RSA Encryption Key' in Evonet Platform , then this field will return. And when paymentMethod.accountUpdateIndicator=Y, the cardNumber or expireDate that in this field will return. 2. The plain text sample is as follows: {""cardNumber"":""341111597242513"",""expiryDate"": ""2512"", ""accountStatus"": ""CardChanged""} -Value defined of accountStatus CardNumberChanged：The account number or account number and expiration date have changed. CardExpiryChanged:The card expiration date has changed. CloseAccount: The card has been closed. ContactCardholder：The merchant should contact the cardholder for additional information on the account. Unknown: Unknown. 3. This field is encrypted with RSA; 4. The Encryption flow is as follows: Step 1: The spliced json character string: {""cardNumber"":""341111597242513"",""expiryDate"": ""2512"", ""accountStatus"": ""CardChanged""} Step 2: Encrypt the character string using the RSA public key. Step 3: Put the cipher text into this field.
    - `e-wallet` object — This is used to send E-Wallet related Information for this transaction - Usage Instruction 1. For POST payment or PaymentMethod request, if paymentMethod.type = ‘e-wallet’, the field must be present 2. Evonet may include this object in response
      - `paymentBrand` string, required — This is to indicate the payment brand of E-Wallet. - Value defined The accepted values of this field, please refer to e-wallet paymentMethod type of the Appendix Payment Methods - Usage Instruction 1. For POST PaymentMethod request: only Alipay, Alipayplus, AlipayHK, Boost, DANA, GCash, Kakao_Pay, Rabbit_LINE_Pay, TNG, TrueMoney_Wallet and WeChat_Pay are applied 2. For POST Payment request: all values are applied 3. All values are applied in response from Evonet 4. This field is optional when transInitiator.inStorePaymentScenario=CPM 5. Field Type: String(32)
    - `token` object — This is used to send token related Information for this transaction - Usage Instruction 1. For POST payment or PaymentMethod request, if paymentMethod.type = token, the field must be sent 2. For POST Payment or POST PaymentMethod response. If paymentMethod.type=GooglePay & The paymentMethod.encryptedData is a tokenized card that consist of device PAN and cryptograms, the field will be present. 3. Evonet may include this field in response
      - `value` string, required — The token value. - Usage Instruction 1. For POST Payment request, this must be sent when paymentMethod.type = token 2. For POST Payment response, this is used in response from Evonet 3. For PUT PaymentMethod and PUT Payment, this is used in response from Evonet 4. Field Type: String(64)
      - `expiryDate` string, date-time — This is the token expiration date and time -Usage Instruction 1. Evonet may include this field in response 2. Format: ISO 8601 YYYY-MM-DDThh:mm:ssTZD 3. Sample: 2017-07-17T13:42:40+01:00. 4. Field Type: Datetime
      - `userReference` string — The User ID obtained or assigned by merchant, and used for merchant reference - Usage Instruction 1. Evonet may include this field in response 2. The value of this field is same as userInfo.reference in your POST request. 3. Field Type: String(64)
      - `vaultID` string — The group ID which the token belongs to. This token is unique under same vault ID - Usage Instruction: 1. This ID is assigned in Evonet, and will be provided to customer before integration. 2. Evonet may include this field in response 3. Field Type: String(36)
      - `fingerprint` string — The token's fingerprint. - Usage Instruction 1. Evonet may include this field in response 2. Field Type: String(64)
      - `createTime` string, date-time — The token's created datetime.<br><br> Usage Instruction<br> 1. Format: ISO 8601 YYYY-MM-DDThh:mm:ssTZD<br> 2. Sample: 2017-07-17T13:42:40+01:00<br> 3. Evonet may include this field in response<br> 4. Field Type: Datetime
      - `updateTime` string, date-time — The token's last updated datetime.<br><br> Usage Instruction<br> 1. Format: ISO 8601 YYYY-MM-DDThh:mm:ssTZD<br> 2. Sample: 2017-07-17T13:42:40+01:00<br> 3. Evonet may include this field in response<br> 4. Field Type: Datetime
      - `status` 'disabled' | 'enabled' | 'expired' — The status of token - Usage Instruction 1. Evonet may include this field in response. But when paymentMethod.token.type=networkToken, it is not present in response. 2. Field Type: String(20)
      - `first6No` string — The first 6 digits of the tokenized cards that consist of device PAN. - Usage Instruction 1. For POST Payment or POST PaymentMethod response. If paymentMethod.type = Google Pay&paymentMethod.GooglePay.tokenize=true&The paymentMethod.encryptedData is a tokenized card that consist of device PAN and cryptograms, the field will be present. 2. Field Type: String(6).
      - `last4No` string — The last 4 digits of the tokenized cards consist of device PAN. - Usage Instruction 1. For POST Payment or POST PaymentMethod response. If paymentMethod.type = Google Pay&paymentMethod.GooglePay.tokenize=true&The paymentMethod.encryptedData is a tokenized card that consist of device PAN and cryptograms, the field will be present. 2. Field Type: String(4).
    - `networkToken` object — This object is used to send network token related Information for this transaction - Usage Instruction 1. For POST PaymentMethod response, if the request generated a network token, the field will be present.
      - `status` 'enabled' | 'suspended' | 'disable', required — The status of Network Token - Usage Instruction 1. Field Type: String(32)
      - `supportDeviceBinding` boolean, required — Does current network token support device binding? - Value definition true: support false: unsupport -Uasge Instruction If current network token support device binding, you can use PUT PaymentMethod to continue the binding.
      - `tokenID` string, required — The unique ID of the network token assigned by card scheme - Usage Instruction 1. Evonet may include this field in response. 2. Field Type: String(64)
      - `first6No` string, required — The first 6 digits of the network token - Usage Instruction 1. This field is used in response from Evonet 2. Field Type: String(6)
      - `last4No` string, required — The last 4 digits of the network token - Usage Instruction 1. This field is used in response from Evonet 2. Field Type: String(4)
      - `expiryDate` string, required — The expiration date of the network token -Usage Instruction 1. Format: MMYY
      - `paymentAccountReference` string — Payment Account Reference (PAR) if available for this payment instrument. - Usage Instruction 1. This field is used in response from Evonet 2. Field Type: String(64)
      - `tokenReferenceID` string — It is a unique ID associated with a single token. - Usage Instruction 1. This field is used in response from Evonet 2. Field Type: String(64)
      - `tokenRequesterID` string — The TRID (Token requester ID) assigned by card scheme. - Usage instruction: 1. When the transaction is used network token and card scheme return this ID, Evonet will return.
    - `points` object — This field is to send points payment related information for this transaction -Usage Instruction: 1. For POST Payment. If paymentMethod.type = points, the field must be present 2. Evonet may include this object in response
      - `paymentBrand` string, required — This is to indicate the payment brand of points payment. - Value defined The accepted values of this field, please refer to points paymentMethod type of the Appendix Payment Methods - Usage Instruction 1. For POST Payment request: all values are applied 2. All values are applied in response from Evonet 3. Field Type: String(32)
    - `onlineBanking` object — This field is to send online banking payment related information for this transaction -Usage Instruction: 1. For POST Payment. If paymentMethod.type = onlineBanking, the field must be present 2. Evonet may include this object in response
      - `paymentBrand` string, required — This is to indicate the payment brand of online banking. - Value defined The accepted values of this field, please refer to onlineBanking paymentMethod type of the Appendix Payment Methods - Usage Instruction 1. For POST Payment request: all values are applied 2. All values are applied in response from Evonet 3. Field Type: String(32)
      - `issuingCompany` string — The name of Issuing Bank. This information can be included when available. - Usage Instruction 1. This field is used in response from Evonet 2. Field Type: String(128)
    - `bankTransfer` object — This field is to send virtual account or payment voucher of payment related information for this transaction -Usage Instruction: 1. For POST Payment. If paymentMethod.type = bankTransfer, the field must be present 2. Evonet may include this object in response
      - `paymentBrand` string, required — This is to indicate the payment brand of virtual account. - Value defined The accepted values of this field, please refer to bankTransfer paymentMethod type of the Appendix Payment Methods - Usage Instruction 1. For POST Payment request: all values are applied 2. All values are applied in response from Evonet 3. Field Type: String(32)
      - `accountNumber` string — This is to indicate the account number of virtual account. - Usage Instruction 1. This is used in response from Evonet 3. Field Type: String(32)
    - `buyNowPayLater` object — This field is to send Buy Now Pay Later payment related information for this transaction -Usage Instruction: 1. For POST Payment. If paymentMethod.type = bankTransfer, the field must be present 2. Evonet may include this object in response
      - `paymentBrand` string, required — This is to indicate the payment brand of Buy Now Pay Later. - Value defined The accepted values of this field, please refer to buyNowPayLater paymentMethod type of the Appendix Payment Methods -Usage Instruction 1. For POST Payment request: all values are applied 2. All values are applied in response from Evonet 3. Field Type: String(32)
    - `carrierBilling` object — This field is to send carrier billing payment related information for this transaction -Usage Instruction: 1. For POST Payment. If paymentMethod.type = carrierBilling, the field must be presented. 2. Evonet may include this object in response
      - `paymentBrand` string, required — This is to indicate the payment brand who are support for carrier billing. - Value defined The accepted values of this field, please refer to carrierBilling paymentMethod type of the Appendix Payment Methods - Usage Instruction 1. For POST Payment request: all values are applied. 2. All values are applied in response from Evonet. 3. Field Type: String(32)
    - `prepaidCard` object — This field is to send prepaid card related information for this transaction. -Usage Instruction: 1. For POST Payment. If paymentMethod.type = prepaidCard, the field must be presented. 2. Evonet may include this object in response
      - `paymentBrand` 'WebMoney' | 'Net_Cash' | 'BitCash', required — This is to indicate the payment brand of prepaid card. - Usage Instruction 1. For POST Payment request: all values are applied 2. All values are applied in response from Evonet 3. Field Type: String(32)
    - `cash` object — This field is to send konbini (convenience store) payment related information for this transaction. -Usage Instruction: 1. For POST Payment. If paymentMethod.type = cash, the field must be presented. 2. Evonet may include this object in response
      - `paymentBrand` string, required — This is to indicate the payment brand of cash-based payment. - Value defined The accepted values of this field, please refer to cash paymentMethod type of the Appendix Payment Methods - Usage Instruction 1. For POST Payment request: all values are applied 2. All values are applied in response from Evonet 3. Field Type: String(32)
  - `authentication` object — The information used for User authentication with Card- Usage Instruction1. Evonet supports securePlus and threeDS authentication types
    - `type` 'threeDSPage' | 'threeDSIntegrator' | 'FIDOPage' | 'threeDSPageOrFIDOPage' | 'threeDSIntegratorOrFIDOPage' — This is used for Evonet to respond to merchant which authentication type is applied for this transaction.<br><br> Usage Instruction:<br> 1. In the request from merchant, only threeDSPage and threeDSIntegrator are applied.<br> 2. In the response from Evonet, all the values are applied.<br> 3. If merchant is configured to support 3DS authentication in Evonet, merchant can send this field in the request of POST PaymentMethod and POST Payment; if not present, default value of threeDSPage is applied.<br> 4. If merchant is configured to support 3DS or SecurePlus authentication in Evonet, and authentication is performed, in the response of POST PaymentMethod and POST Payment, Evonet will include this field to indicate the authentication type.<br> 5. In PUT Payment and PUT PaymentMethod request, the value of this field must be same as POST request; if not present, default value is threeDSPage.<br> 6. Field Type: String(20)
    - `liabilityShift` boolean, required — Transaction liability shift flag - Value defined true: The current transaction is a liability shift transaction false: The current transaction is not a liability shift transaction
    - `threeDS` object — This field includes the related information for 3DS authentication.<br><br> Usage Instruction<br> 1. Merchant can use this object to send information to Evonet for 3DS authentication.<br> 2. If authenticationOnly = true, Evonet sends the 3DS result data (mpiData) to merchant in this field.<br> 3. Merchant can use this object to send 3DS result data (mpiData) to Evonet for payment.<br> 4. If the authentication is finished, Evonet will return the eci and status in this object.<br> 5. If the transaction has been verified by 3DS, Evonet sends the 3DS result data (mpiData) to merchant in this field.
      - `mpiData` object, required — The 3DS authentication result data.<br><br> Usage Instruction<br> 1. Evonet will respond with this data to merchant in POST Payment or PUT Payment response, if authenticationOnly = true in the request of POST Payment.<br> 2. Mandatory when merchant obtains this data from other service provider, and sends it to Evonet in POST Payment.<br> 3. Evonet will respond with this data to merchant in POST Payment, PUT Payment or GET Payment response, if the transaction has been verified by 3DS.
        - `status` 'Y' | 'N' | 'U' | 'A' | 'C' | 'R', required — The raw result of the 3DS to indicate the status of the E-Commerce transaction, used for the follow-up authorization request. - Usage Instruction 1. Field Type: String(1).
        - `transStatusReason` string — 3DS result reason - Usage Instruction 1. The description of each value, please find in appendix 8.10 2. Field Type: String(2).
        - `cardholderInfo` string — Text provided by the ACS/Issuer to Cardholder during a Frictionless transaction that was not authenticated by the ACS. The Issuer can optionally provide information to Cardholder. - Usage Instruction 1. Field Type: String(1024).
        - `cavv` string — The cavv. The field is authentication value(AV) for 3DS 2.0. The base64 encoded value is accepted or returned in this field. - Usage Instruction 1. Field Type: String(28).
        - `eci` string — The electronic commerce indicator. - Usage Instruction 1. Field Type: String(2).
        - `dsTransID` string — dsTransID - Usage Instruction 1. Mandatory for 3D Secure 2 2. Field Type: String (36)
        - `threeDSVersion` string — threeDSVersion - Usage Instruction 1. Mandatory for 3D Secure 2. 2. The current version supported is 2.1.0. 3. Field Type: String(10).
      - `isFrictionless` 'Y' | 'N' — This field is used to indicate the mode of the 3DS is frictionless or challenge
  - `payment` object — This object includes related information for an original Payment transaction which has been successfully processed in Evonet - Usage Instruction 1. This field is used in response for the API of Payment, Cancel, Capture, Refund and DataSubmission 2. This field is used in Notification for the API of Payment, Cancel, Capture and Refund and DataSubmission
    - `status` 'identify_pending' | 'identified' | 'identify_declined' | 'verify_pending' | 'verified' | 'verify_declined' | 'auth_pending' | 'declined' | 'authorized' | 'capture_pending' | 'captured' | 'cancel_pending' | 'cancelled' | 'refund_pending' | 'refunded_partial' | 'refunded_full', required — The status of Original Payment transaction.<br><br> Value defined:<br> verify_pending: Used for Card transaction authentication, means authentication is in processing.<br> verified: Used for Authentication only transaction, means the authentication is successfully completed.<br> auth_pending: For E-Wallet transaction, means transaction is waiting to pay. For card transaction, means authorization is in progress (merchant can submit query, or Cancel).<br> authorized: Used for card transaction, means the transaction authorization is successfully completed and pending for Capture (merchant can submit cancel).<br> cancel_pending: Means Evonet received and processed the cancel, but pending for PSP confirmation.<br> cancelled: Means Evonet received and processed the cancel, and completed the cancel with PSP successfully.<br> captured_pending: Used for Card transaction, means the capture is in processing.<br> captured: If card transaction, means transaction authorization and capture are successfully completed; If E-Wallet transaction, means transaction is successfully completed.<br> refund_pending: Means the refunding for this transaction is in processing.<br> refunded_full: Means the transaction is refunded in full successfully.<br> refunded_partial: Means the transaction is refunded partially successfully.<br> declined: Used for both card and E-Wallet transaction, means transaction is failed.<br><br> Usage Instruction<br> 1. Field Type: String(20)
    - `failureCode` string — Error code returned for the payment. - Value defined Refer to <result code>. - Usage Instruction 1. Only returned when the payment.status=declined 2. Field Type: String(8)
    - `failureReason` string — Error message returned for the payment. - Value defined Refer to <result code>. - Usage Instruction 1. Only returned when the payment.status=declined 2. Field Type: String(1024)
    - `merchantTransInfo` object, required — This is the information of merchantTransInfo from the request of the initial Payment transaction
      - `merchantTransID` string, required — This is the merchantTransID from the initial Payment transaction - Usage Instruction 1. Field Type: String(32)
      - `merchantOrderReference` string — This is the merchantOrderReference from the initial Payment transaction - Usage Instruction 1. Field Type: String(32)
      - `merchantTransTime` string, date-time, required — This is the merchantTransTime from the initial Payment transaction - Usage Instruction 1. Format: ISO 8601 YYYY-MM-DDThh:mm:ssTZD 2. Sample: 2017-07-17T13:42:40+01:00
    - `evoTransInfo` object — This is the evoTransInfo for the initial Payment transaction - Usage Instruction 1. This is generated by Evonet
      - `evoTransID` string, required — This is the evoTransID for the initial Payment transaction - Usage Instruction 1. Field Type: String(32) 2. This is generated by Evonet
      - `evoTransTime` string, date-time, required — This is the evoTransTime for the initial Payment transaction - Usage Instruction 1. Format: ISO 8601 YYYY-MM-DDThh:mm:ssTZD 2. Sample: 2017-07-17T13:42:40+01:00 3. This is generated by Evonet
      - `traceNum` string — This is traceNum for the initial Payment transaction - Usage Instruction 1. Field Type: String(6) 2. This is provided by Evonet if existed when sending transaction to PSP
      - `retrievalReferenceNum` string — This is the retrievalReferenceNum for the initial Payment transaction - Usage Instruction 1. Field Type: String(12) 2. This is provided by Evonet if existed when sending transaction to PSP
    - `pspTransInfo` object — This is the pspTransInfo for the initial Payment transaction- Usage Instruction1. Evonet may provide this if PSP responses the related information
      - `pspTransID` string — This is the pspTransID for the initial Payment transaction - Usage Instruction 1. Field Type: String(64) 2. Evonet may provide it if PSP responses this information
      - `pspTransTime` string, date-time — This is the pspTransTime for the initial Payment transaction - Usage Instruction 1. Format: ISO 8601 YYYY-MM-DDThh:mm:ssTZD 2. Sample: 2017-07-17T13:42:40+01:00 3. Evonet may provide it if PSP responses this information
      - `authorizationCode` string — This is the authorizationCode for the initial Payment transaction - Usage Instruction 1. Field Type: String(6)
      - `cvcCheckResultRaw` string — This is the cvc check raw result for the initial payment transaction - Usage Instruction 1. Field Type: String(3) 2. Evonet may provide it if PSP responds to this information
      - `cvcCheckResult` string — This is the cvc check result for the initial payment transaction - Value defined: M: Indicate cvc match N: Indicate cvc no match P: Indicate cvc not process, the card scheme or issuer was unable to verify the cvc value S: Indicate cvc should be on the card, because the card scheme or issuer wants to perform cvc verification U: Indicate cvc unverified, because issuer does not participate in cvc service - Usage Instruction 1. Field Type: String(1)
      - `retrievalReferenceNum` string — This is the retrievalReferenceNum for the initial Payment transaction - Usage Instruction 1. Field Type: String(64) 2. Evonet may provide it if PSP returns the information
      - `avsCheckResultRaw` string — AVS raw result for the initial payment transaction.<br><br> Usage Instruction<br><br> Field Type: String(1)<br> Evonet may provide it if PSP responds with this information.<br>
      - `avsCheckResult` 'Y' | 'A' | 'Z' | 'N' | 'R' | 'U' — AVS check result after internal standardization and mapping based on avsResultRaw.<br><br> Usage Instruction<br><br> Field Type: String(1)<br> Evonet may provide it if PSP responds with AVS information and internal mapping is applicable.<br>
    - `transAmount` object, required — This is the transAmount for the initial Payment transaction - Usage Instruction 1. This is from the request message of merchant
      - `currency` string, required — This is the transAmount.currency for the initial Payment transaction - Usage Instruction 1. Field Type: String(3) 2. Same with the information in request message
      - `value` string, required — This is the transAmount.value for the initial Payment transaction - Usage Instruction 1. Field Type: String(12) 2. Same with the information in request message
    - `localAmount` object — This is used to define the amount of the transaction in merchant local currency. The filed “value” in this object must same as the initial POST FXRateInquiry interface. - Usage Instruction 1. This object is mandatory when you need use Acquirer- MCP service. 2. Used in POST Payment request, to send the payment transaction amount in local currency.
      - `currency` string, required — The currency for this transaction. - Value defined The three-character currency code as defined in ISO-4217. For example : HKD - Usage Instruction: 1. Field Type: String(3)
      - `value` string, required — The value of the transaction amount with major unit -Usage Instruction 1. Example：if currency=HKD, 12.34 means 12.34 HKD, 30 means 30.00HKD; if currency=JPY, 1234 means 1234 JPY 2. Field Type: String(12).
    - `billingAmount` object — The user billing amount for the initial Payment transaction - Usage Instruction 1. Evonet may provide this information if PSP returns
      - `currency` string, required — The user billingAmount.currency for the initial Payment transaction - Usage Instruction 1. Evonet may provide this information if PSP returns 2. Field Type: String(3)
      - `value` string, required — The user billingAmount.value for the initial Payment transaction - Usage Instruction 1. Evonet may provide this information if PSP returns 2. Example: If currency=HKD, 12.34 means 12.34 HKD; if currency=JPY, 1234 means 1234 JPY 3. Field Type: String(12)
    - `billingFXRate` object — The FX rate between transaction currency and user billing currency - Usage defined: 1. Evonet may provide this information if PSP returns
      - `value` string, required — The value of FX rate - Usage Instruction 1. Evonet may provide this information if PSP returns 2. Example: If 1 HKD = 14.485206 JPY, this value is 1/14.485206=0.0690360 3. Field Type: String(24)
      - `baseCurrency` string, required — Code of Base currency (transaction currency) - Usage Instruction 1. Evonet may provide this information if PSP returns 2. Field Type: String(3)
      - `quoteCurrency` string, required — Code of the billing currency - Usage Instruction 1. Evonet may provide this information if PSP returns 2. Field Type: String(3)
    - `convertTransAmount` object — This is the amount calculated for the merchant based on the original transaction currency and amount, when the merchant needs to send out transaction in different currency and has different settlement currency - Usage Instruction 1. Evonet may provide this information when the merchant supports currency conversion
      - `currency` string, required — Code of Currency after conversion - Usage Instruction 1. Evonet may provide this information when the merchant supports currency conversion 2. Field Type: String(3)
      - `value` string, required — Amount after currency conversion - Usage Instruction 1. Evonet may provide this information when the merchant supports currency conversion 2. Example: If 1 HKD = 14.485206 JPY, this value is 1/14.485206=0.0690360 3. Field Type: String(12)
    - `convertTransFXRate` object — FX rate between the transaction currency and merchant convert currency- Usage Instruction1. Evonet may provide this information when the merchant supports currency conversion2. This FX rate is from Evonet
      - `value` string, required — Exchange rate value, The value of FX rate - Usage Instruction 1. Evonet may provide this information when the merchant supports currency conversion 2. Example: If 1 HKD = 14.485206 JPY, this value is 1/14.485206=0.0690360 3. Field Type: String(24)
      - `baseCurrency` string, required — Code of transaction currency - Usage Instruction 1. Evonet may provide this information when the merchant supports currency conversion 2. Field Type: String(3)
      - `quoteCurrency` string, required — Code of merchant Convert currency - Usage Instruction 1. Evonet may provide this information when the merchant supports currency conversion 2. Field Type: String(3)
      - `source` string — The source of the exchange rate source - Usage Instruction 1. Evonet may provide this information when the merchant supports currency conversion 2. Field Type: String(32)
      - `date` string — Date for the exchange processing - Usage Instruction 1. Evonet may provide this information when the merchant supports currency conversion 2. Format: YYYYMMDD 3. Field Type: String(8)
    - `discount` object — This object contains discount amount and information returned by PSP. - Usage Instruction 1. Evonet may provide this information if PSP provides
      - `discountAmount` object — The discount amount of the transaction. - Usage defined: 1. Evonet may provide this information if PSP returns
        - `currency` string, required — "The currency for discount amount. - Value defined The three-character currency code as defined in ISO-4217. For example : HKD - Usage Instruction: 1. Field Type: String(3)"
        - `value` string, required — The value of the discount amount with major unit -Usage Instruction 1. Example：if currency=HKD, 12.34 means 12.34 HKD, 30 means 30.00HKD; if currency=JPY, 1234 means 1234 JPY 2. Field Type: String(12).
      - `payAmount` object — The actual transaction amount paid by user - Usage Instruction 1. This field is returned when the PSP has a promotion.
        - `currency` string, required — The currency for pay amount. - Value defined The three-character currency code as defined in ISO-4217. For example : HKD - Usage Instruction: 1. Field Type: String(3)
        - `value` string, required — Discount information - Usage Instruction 1. Evonet may provide this information if PSP provides 2. This field is in array format. If there are multi discount informations, they will all appear in this field. 3. Example: [{"subDiscountAmt": "000000000100", "discountCurrency": "JPY", "discountType": "Instant Discount"}, {"subDiscountAmt": "000000000100", "discountCurrency": "JPY", "discountType": " Uplan Discount "}]
      - `discountInfo` object[] — Discount information - Usage Instruction 1. Evonet may provide this information if PSP provides 2. This field is in array format. If there are multi discount informations, they will all appear in this field. 3. Example: [{"subDiscountAmt": "000000000100", "discountCurrency": "JPY", "discountType": "Instant Discount"}, {"subDiscountAmt": "000000000100", "discountCurrency": "JPY", "discountType": " Uplan Discount "}]
        - `discountType` string — The discount type for each discount information.<br><br> Usage Instruction<br> 1. Evonet may provide this if PSP returns.<br> 2. Field Type: String(512)
        - `subDiscountAmount` object — The discount amount for each discount information.<br><br> Usage Instruction<br> 1. Evonet may provide this information if PSP provides.
        - `currency` string, required — The currency for sub discount amount. - Value defined The three-character currency code as defined in ISO-4217. For example : HKD - Usage Instruction: 1. Field Type: String(3)
        - `value` string, required — The value of the sub discount amount with major unit -Usage Instruction 1. Example：if currency=HKD, 12.34 means 12.34 HKD, 30 means 30.00HKD; if currency=JPY, 1234 means 1234 JPY 2. Field Type: String(12).
  - `pspData` object — This is the supplemental data from PSP which may be used for some special service scenarios - Usage Instruction 1. Evonet may provide this information if PSP provides
    - `name` 'Alipay' | 'Alipayplus' | 'ALLINPAYHK' | 'American_Express' | 'CyberSource' | 'Diners' | 'GrabPay' | 'iPay88' | 'JCB' | 'Jkopay' | 'Komoju' | 'Mastercard' | 'Octopus' | 'Opn_Payments' | 'PacyPay' | 'SmartroPAY' | 'TPN' | 'UnionPay' | 'Visa' | 'WeChat_pay', required — PSP name - Usage Instruction 1. This field is used in response from Evonet 2. Field Type: String(32)
    - `token` string — The PSP token value - Usage Instruction 1. Evonet may provide this if PSP returns 2. Field Type: String(36)
    - `payerReference` string — The PSP customer identification. - Usage Instruction 1. Evonet may provide this if PSP returns 2. Field Type: String(64)
    - `fingerprint` string — The PSP identity. - Usage Instruction 1. Evonet may provide this if PSP returns 2. Field Type: String(64)
    - `sponsorCode` string — The PSP assigned sponsor number. - Usage Instruction 1. Evonet may provide this if PSP returns 2. Field Type: String(32)
    - `acquirerID` string — The PSP assigned acquirerId number. - Usage Instruction 1. When the paymentMethod.e-wallet.paymentBrand=Alipayplus this filed will be returned. Merchant can use this value to initialize the Alipay+'s APP SDK. 2. Field Type: String (64)
    - `merchantID` string — The PSP assigned merchant number. - Usage Instruction 1. When the paymentMethod.e-wallet.paymentBrand=Alipayplus this filed will be returned. Merchant can use this value to initialize the Alipay+'s APP SDK. 2. Field Type: String (64)
    - `networkTxReference` string — The card organization transaction reference information. - Usage Instruction 1. Evonet may provide this if PSP returns 2. Field Type: String(64)
    - `extra` object — The PSP additional information. - Usage Instruction 1. Evonet may provide this if PSP returns 2. Field Type: String(512)
  - `extendAuthorizationDateIndicator` 'Y' | 'N' — Extend Authorization Date Indicator - Usage Instruction 1. This field is suitable for the paymentBrand=Visa
  - `metadata` string — This field is used for merchant to state reference information - Usage Instruction 1. If merchant sends this field in the request message, Evonet will echo it back in the response 2. Field Type: String(512)

---

[API](https://skmtc.net/evonetonline/apis/evonet-api.md) · [All operations](https://skmtc.net/evonetonline/apis/evonet-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/evonetonline/evonet-api/revisions/2136e26ceb19/schema)
