预授权完成
预授权完成
您可以通过 POST Capture
接口发起预授权完成请求。您可以设置您想要完成的金额,但金额不能大于原预授权交易金额。
主要流程如下:
- 当您发起预授权完成时,会用到您在调用
POST Payment
接口时上送的merchantTransInfo.merchantTransID
。 您需要在POST Capture
请求的 URL 中添加此参数。以便 EVO Cloud 找到原始的预授权交易,并发起完成。
预授权完成请求报文样例
js
curl 'https://hkg-online-uat.everonet.com/g2/v0/payment/acq/10130014/evo.offline.capture/T20240306135818963' \
-H 'Authorization: 899fa642452915a04a698b20f5068b0a48dff5ff2187e602e8f9f85f136d4c5f' \
-H 'DateTime: 20240306140007+0800' \
-H 'SignType: SHA256' \
-H 'Content-Type: application/json' \
-H 'MsgID: M20240306140007152' \
-d '{
"merchantTransInfo": {
"merchantTransID": "T20240306140007152",
"merchantTransTime": "2024-03-06T14:00:07+08:00"
},
"paymentMethod": {
"type": "card",
"card": {
"posEntryMode":"magnetic",
"pinFlag":true,
"termReadability":"5",
"cardInfo": {
"cardNumber": "3569990012318852",
"expiryDate": "2312",
"track2": "3569990012318852=23121010000000000000"
},
"pin":{
"encryptedPin":"A8B568E29FC8E959",
"pinEncryptMethod":"DUKPT",
"keySerialNumber":"FFFF123456ABCDE00004"
}
}
},
"transAmount": {
"currency": "HKD",
"value": "1.00"
}
}'
- 检查 EVO Cloud 应答中的
capture.status
字段内容。如果字段的值为Success
则表示交易成功,否则就需要查看result.code
以及result.message
来查看交易失败原因。 - 如果您没有收到来自 EVO Cloud 的应答报文,则需要您调用
GET Capture
来查询交易结果。当收到查询应答时,您同样也需要通过capture.status
字段内容来判断交易结果,判断方式与第 2 步一致。如果交易失败,您需要通过capture.failureCode
以及capture.failureReason
来查看交易失败原因。 - 如果您在
POST Capture
请求中上送了webhook
,您也可以通过异步通知来获取交易结果。同样也需要通过capture.status
字段内容来判断交易结果,判断方式与第 2 步一致。