Skip to main content
Cortina 使用 SaleEndNotification 命令通知集成方有关 Cortina 支付提供商的交易请求已完成的信息。

要求

Nayax 的服务器会向您配置的 SaleEndNotification 端点发送 POST 请求,其格式如下: (customer's URL)/Cortina/SaleEndNotification 有效载荷包含以下详细信息:

请求参数

下表描述了请求的所有参数:
场地类型必需的描述
BasicInfoTransactionIdString(36)是的此交易的唯一标识符。如果使用了 /StartSession,则会回显加密在 ‘TranIDCipher’ 中的交易 ID。如果未使用 /StartSession,Nayax 引擎将生成此值。
NayaxTransactionIdInt(64)是的Nayax 内部用于该交易的唯一标识符,将在后续请求中回显。
Amount双倍的是的十进制(小数部分最多 3 位)支付金额,例如:1 分 = 0.01,20 分 = 0.20
  • 注意:没有小数位的货币也应表示为双精度数,例如:234 JYN = 234.0。
CurrencyCodeString(3)是的根据 ISO 4217 的货币代码,属性格式为:字母 3 位。
CurrencyNumericString(3)是的根据 ISO 4217 的货币代码,属性格式为:数字 3 位。
SiteId整数(16)不Nayax服务器区域。
MachineAuTimeString不机器授权时间戳
TimeoutMSInt(32)不Nayax 服务器超时配置,单位为毫秒
IsProductSelectedBool不表示产品是否已被预先选择
PaymentMethodIDInt(32)不支付提供商的 Nayax 标识符
BillingProviderIdInt(32)不计费提供商的 Nayax 标识符
AuditNumberInt(64)不仅供 Nayax 内部使用。
NayaxRRNString不用于生成 Nayax Number 的参考值,用作面向外部方(通常是卡组织或应用服务提供商)的外部交易标识。从支持角度而言,强烈建议此 ID 应为最终消费者/持卡人以及卡片发卡行(例如银行)或应用服务提供商(例如支付宝、微信)可见的 ID。如果以上均不适用,集成方应生成一个额外的字符串。
  • 该值将在 /Inquiry 请求中回显。
IsDeferredAuthorizationBool不暂无更多信息。
AgeLimitation整数(16)不允许交易所需的最低年龄。
IsSoftDeclineCompletionBool不暂无更多信息。
TransitElement inside BasicInfoTransitTransactionTypeInt(32)不枚举值:1 2 3 71 - 预付资金2 - 实时授权3 - 后授权聚合交易7 - 债务追收
TransitElement inside BasicInfoDenyListIndicationInt(32)不枚举值:0 1 20 - 未知/无影响1 - 拒绝将导致消费者被加入拒绝名单2 - 批准将导致消费者从拒绝名单中移除。
PaymentInfoSrvTranIdString不集成方的内部交易 ID。条件性字段,仅在未使用 /StartSession 时需要。如果使用了 /StartSession,此字段应为空,或回显请求中发送的交易 ID。
AuthCode字符串(40)不外部(通常是发卡行的)授权码
AuthAmount双倍的不在 /Authorization 请求中请求的原始金额。
SettAmount双倍的不在 /Settlement 或 /Sale 流程中请求的原始金额。
RRNString不参考检索编号,用作面向外部方(通常是卡组织)的外部交易标识。从支持角度而言,强烈建议此 ID 应为最终消费者/持卡人可见的 ID。
TokenString(256)不该交易的唯一令牌。仅供 Nayax 内部使用
AuthDateTimeString不/Authorization 发生时的日期时间字符串 格式:ddMMyyHHmmss
SettDateTime双倍的不与 Authorization 命令无关。
TraceNumberString不跟踪编号。仅供 Nayax 内部使用
AuthSourceString(5)不仅供 Nayax 内部使用
AdditionalDataString不JSON 格式的字符串。请就此顺序定义联系 Nayax TPOC。
IsGatewayTimeoutBool不是否发生了网关超时(在响应中有效)
ProviderExternalDataString不JSON 格式的字符串。
InitiateTranReferenceInt(64)不条件性字段,在给定交易中重新尝试于终端使用预付忠诚卡的情况下,该字段将反映此次尝试最初所属的交易(Nayax 交易 ID)。
IsRevalueCardBool不表示该卡是否允许充值
BasicInfoDynamicURLString不Actor 级别的 URL 配置
CustomDataDirectActorString不直接 Actor 自定义数据(JSON 格式的字符串)
OperatorString不运营商自定义数据(JSON 格式的字符串)
DistributorString不分销商自定义数据(JSON 格式的字符串)
ActorString不Actor 自定义数据(JSON 格式的字符串)
MachineString不Machine 自定义数据(JSON 格式的字符串)
SoftDeclineString不Soft Decline 自定义数据(JSON 格式的字符串)

回复

客户支付方式将发送给 Nayax 服务器的 SaleEndNotification 响应。其负载应如下所示:

响应参数

下表描述了响应中的所有参数:
场地类型必需的描述
TranIDCipherString(36)是的集成方生成一个 36 个字符(即 288 位)的交易 ID。 随后集成方附加字符 = 和 RandomNumber,以生成 64 个字符的密文。 格式:TransactionId=RandomNumber 集成方使用 AES ECB 模式,以 Secret Token 对密文进行加密。 AES 密钥为与请求中提供的 TokenID 匹配的 Secret Token 的最后(最右侧)256 位(即 32 个字符)。 Nayax 将使用 AES ECB 解密并提取交易 ID 该交易 ID 值随后将用于所有后续请求。Information regarding how to generate the TranIDCipher (via encrypting the token alongside the Random Number and the customer’s Transaction ID can be reviewed under Start Session authentication process
Verdict inside StatusString是的常量字符串。请求的状态(‘Approved’/‘Declined’)
Code inside StatusInt(32)不条件性字段 - 仅当 verdict 值为 declined 时适用。有效的拒绝代码(必须是此列表中的代码):
1 - 余额不足
2 - 交易 ID 未知
3 - 持卡人超过每日/每周/每月交易次数限制
4 - 持卡人超过交易金额限制
5 - 疑似欺诈
6 - 系统一般性故障
7 - 金额无效
8 - 请求无法解析(格式错误)
9 - 该持卡人不允许进行此交易
40 - 仅供 Nayax 内部使用。
990 - 未找到 CertificateFileName
991 - 消息正文解密失败
992 - 超时异常
994 - 不支持该卡品牌
996 - 交易 ID 未知/交易 ID 重复(Start Session 错误)
997 - 缺少必填参数
998 - 验证失败/请求无法解析
999 - 一般性异常
1010 - 未找到公钥证书
1011 - 方法未实现
StatusMessage inside Status字符串(255)不交易状态信息自由文本字段/其他可变数据
CustomDeclineCode inside StatusString不此字段用于指定自定义拒绝代码(例如 Soft Decline 或 Switch Interface)。 该值可能与收单机构的响应代码相同,也可能由其他数据组合而成。