- CancelTransaction
- ConfirmTransaction
- GetCardToken
- IncrementalAuthorization
- PreAuthorize
- VoidTransaction
CancelTransaction
CancelTransaction 方法会停止正在进行的 PayTransaction 或 PreAuthorize 调用的执行。在取消操作被接受并确认之前,系统会阻止进一步的请求。
实现说明:
- 轻触卡片之前: 如果尚未轻触卡片,读卡器轮询序列将停止。显示屏将显示 “Cancelling”(取消中);随后主机应用程序必须使用
ShowMessage命令更新界面。 - 处理过程中: 如果卡片已经被轻触但处理尚未完成,系统会返回
CannotCancel。EMV Core 在等待联机结果时,可能需要几秒钟才能收到TransactionComplete事件。 - 完成之后: 如果交易已经完成,将返回
NoTransaction。 - 撤销已成功交易: 要撤销已完成的交易,请使用
VoidTransaction。 - 被拒绝的交易: 如果
TransactionComplete返回Decline状态,则无需发送VoidTransaction命令。 - 事件: 在所有情况下,EMV Core 最终都会发送
TransactionComplete事件以确定最终状态。
CancelTransaction 方法的 API 签名:
- JSON
- Android
- Linux
请求:响应:
如果卡片已被轻触并处理完毕,系统将返回
CannotCancel 错误。ConfirmTransaction
确认请求是授权流程的第二阶段,用于确认预授权,以便进行结算。
API 签名
- JSON
- Android
- Linux
响应:请求:响应:参数:
JSON
JSON
JSON
GetCardToken
GetCardToken 方法用于启动卡片令牌化流程,返回卡片令牌而不执行金融交易。
EMV Core 等待卡片被轻触,读取数据,并触发 CardTokenReceived 事件:
- 支付卡: 返回包含卡令牌的 Base64 字符串。
- CLP 卡(例如 Mifare): 返回卡片 UID。
API 签名
- JSON
- Android
- Linux
请求:响应:参数:
JSON
IncrementalAuthorization
IncrementalAuthorization 方法为现有已授权交易添加增量扣款,并通过 IncrementalAuthorizationResponse 回调返回结果。该方法是为未来的多步流程保留的,目前无需使用:如需了解当前的单步行为,请参阅下文。
单步增量授权
在大多数场景下,您无需直接调用此 API。每当结算金额超过预授权金额时,Nayax Core 会自动处理单步增量授权:- 调用
PreAuthorize(例如 10.00 美元),并从返回的TransactionComplete事件中读取IncrementalMaxDefaultCredit的值(例如 50.00 美元)。 - 调用
ConfirmTransaction,或从您的服务器发送外部结算请求,金额不超过IncrementalMaxDefaultCredit(例如 15.03 美元)。 - Nayax Core 会自动向处理商发送针对差额的增量授权请求(本例中为 5.03 美元)。
- 如果增量授权成功,Nayax Core 会以最终金额(15.03 美元)结算交易。
- 如果失败,Nayax Core 会以原始预授权金额(10.00 美元)结算交易。
Nayax 目前尚未在服务器端支持多步流程。目前调用
IncrementalAuthorization 除上述内容外不会产生其他效果。IncrementalAuthorization 的 API 签名:
Java
PreAuthorize
使用 PreAuthorize 对支付处理商的卡片进行预授权。EMV Core 会等待卡片、读取卡片,并在需要时通过支付服务进行处理,然后发送 TransactionComplete 事件。
API 签名
- JSON
- Android
- Linux
请求:响应:参数:
JSON
JSON
TransactionComplete 事件返回状态为 OK),应用程序必须调用 ConfirmTransaction 或 VoidTransaction 以完成流程。
VoidTransaction
此请求用于在两种特定情况下撤销交易:
- 释放资金: 该交易已被预授权但尚未确认。撤销交易会在交易不会再发生时释放已预留的资金。
- 冲正: 交易已使用
PayTransaction完成,但需要取消。
API 签名
- JSON
- Android
- Linux
请求:响应:参数:
JSON
JSON