SparkPay OpenAPI 文档
简体中文
  • 简体中文
  • English
简体中文
  • 简体中文
  • English
  1. 接入必读
  • 产品介绍
  • 快速指引
    • 接入准备
    • 接口加签说明
  • 接入必读
    • 接口规则
    • 异步通知
    • 接口错误码
    • 网络与币种
  • 对接场景
    • 支付
    • 关闭订单
  • API列表
    • 统一收银台付款
      POST
    • 支付订单关闭
      POST
    • 支付订单查询
      GET
    • 统一收银台付款(专业版)
      POST
    • 支付订单查询(专业版)
      GET
  • 常见问题
    • 通知相关问题
    • 跳转失败问题
    • 接口报错提示问题
    • 测试币领取/测试网连接
  • 对接示例
    • 接口签名示例-Postman
    • 接口签名示例-php
  • 版本说明
    • 版本说明
  1. 接入必读

异步通知

对于 SparkPay 支付产生的交易,SparkPay会根据统一收银台付款接口 中的异步通知地址 notify_url,通过 POST 请求的形式将支付结果作为参数通知到商户系统。详情可查看下方的通知说明。

1 异步通知参数#

参数类型是否必读描述
headObject是密钥相关信息对象
bodyObject是加密数据对象
以下是body请求示例
{
    "head": {
        "charset": "UTF-8",
        "aes_key": "Ze/5ORmCGEoJJoofNtYijD6QRNc1IGsMoOBP0nYvgfGskFI+xiweDdifLiphX8K3icNEYS5rajflqIZ29HyIJXKd7XEsfiyTX9WdLxOKdZn/0A8COtJeVrme+5bi30yNJbjox/5C0gK6+39uKtFGW85rVGoKNuU/6SbH2pzTSNn8oc6OJjphTV52G8jAKPiQxnHFWAmPWmy1IvhbRmLjCTQaTk3mNsauRSZacF3xNtvuVkZ6ZnGyJimh834TOC9vp8KEdO8/eA8HjFAFOA/G0CqCg4Fqeb8kkbH+1rA9BWx7++a5qhQQRLKtu7CPRO+HaJt1xtYXSgbhL9u4P1PSZg==",
        "app_id": "qufsSeu0Eec",
        "sign": "L1W+wtcGyDfwTSMWz10Iv5kgPV4cbQQWhNU0k9hCVizLHFEzP0viL52INdxANo4imJyBqROLD86UXooSsPKHwTD0y8/nts9bdsQZ+6e+LTpzaUjHYGKqJd/5gocmoqkztNA+qkM/8YnZOcKHH8s8wwapTbiN/mZ39k4zVwuRLflsMkpoIklTROAikx832KEeQwY7L3AQI1VUe69oilBoWO8gMuobCU8gNzOIaPLlAsrPewydiXiMmpx/ZRGANoVlFsMufohWL6XWuOGh2ykUxS4aRcOKgx11c6sw73gHrUO0J9/Fwf76oPs2P96/TwbocVxBNKiRLFIMfO3R6vfWoQ=="
    },
    "body": "3L8m0wA4D2KziM10Oh5Lo/IaqFldsDhOj1sdUo0Yzmeq+TfMQZfJRtIQ5LJOzW5Mv9EQTQAhVWkrQSojLzZGm864qmcxFf9K0FKqLesG+SAT/C/Qt1TO24pfkeibvN60XYWR4+LInD3t0C3yLBGo8A46eSuV/+JLf/MFjnYv+rEhzXaArJ/D7r/dIjDXMmzW2lLvB2k/JW5T+nqy2io7MKp19ln9Ki+uCUgIIiA4tzfz9s7ZnGpptHJowuaqmeg2NMmcCGtMR6/m+qPKAVOps3RUe1PMZOILSqRZjkH7jhMmIvO+DCBBKGK3ZgLVfGVZ5zrgRMFz//4AK2Ta7ZO635pMLMKYKNpS0qPECLGZfwM9U1moCv4eSHUXWcVCdCmnJSf1Q+GQ23oWyxSMvnKfsSmrY3GsKYFGXUOeRLEB5mogdUr/vx5/OiTJaWlrCabDwdoyLEdfOC2ZChfBivNgUvWX+oC4fBuIlj8Geq18McrcinehnvFb5nbkGSSMn/2T3S0zw2t6+ZPvOjzhOUktPdc/KJlqAEYRz1ZOtT7V99rmVjdF/h8Yk30Cunz0Cv3KyHgRrawbcHARdbsCsVGfgCtAWEWgJuzx/Kvs4t5POezt1SvXyWf91X7A1AN/zFhhQtgloiSXsvlCfffKh2HDrLrjncE7FCyfpPIYKdRHbsCcbVaWB7dunb93ddf+C15i"
}

2 异步通知说明#

通知机制:支付平台在收到商户的应答不符合规范或超时,认为通知失败会重新发起通知(间隔频率:每隔10s/1m/5m/10m/30m/1h/2h调用),尽可能提高通知的成功率,但不保证通知最终能成功。
接收机制:异步通知 header 是 Content-Type:application/json
请求业务报文加密说明(商户应用对接异步通知时需要了解):
对AES密钥加密使用的公钥是商户应用RSA公钥,加密使用的RSA公钥加密算法填充方案是RSAES-OAEP,其中OAEP采用hash算法为SHA256。
对请求参数json串进行AES加密是采用AES-256/CBC/PKCS5Padding加密算法,并且加密使用的AES密钥Key就是aes_key加密前的密钥Key(密钥长度32位字符串,iv取密钥前16位)。
请求参数json串、AES密钥被加密后,加密结果均采用标准base64编码。
请求参数json串的签名值也采用base64编码。
请求业务报文接收处理方式: 接口请求字段数据采用标准base64编码,需要先解码。
aes_key: 使用商户RSA私钥解密aes_key获取到AESKEY。
body: 使用AESKEY解密,获取到支付结果通知参数json字符串。
sign: 通知参数json字符串使用支付平台公钥配合sign进行验签。
应答方式: 状态码:200;响应报文:"SUCCESS"。
注意事项:
1.
异步通知关于notify_url地址以https:// 或 http:// 开头的完整全路径地址,并且确保url中的域名和IP是外网可以访问的。
2.
notify_url的代码处理逻辑不能做登录态校验。
3.
商户设置的异步地址(notify_url)需保证无任何字符,如空格、HTML 标签,且不能重定向。
4.
商户系统收到异步通知,需要在支付平台规定的时间内返回应答报文,否则支付平台认为通知失败,后续会重复发送通知。
5.
商户侧对支付平台回调IP有防火墙策略限制的,需要对支付中心指定的IP段开通白名单。
6.
同样的通知可能会多次发送给商户系统,商户系统必须能够正确处理重复的通知。如果已处理过,直接给支付平台返回成功。

3 解密后参数说明#

字段名类型字段说明是否必须
notify_idstring通知的唯一ID必须
notify_timeint64消息发送时的服务端时间必须
request_nostring商户请求号必须
pay_order_nostring支付平台支付订单编号必须
pay_statusstring支付状态 COMPLETED: 已完成必须
completed_timeint64支付完成时间必须
merchant_order_nostring商户平台订单号必须
goods_infostring商品信息必须
real_pay_amountstring(已过时)支付金额,请使用 payment_amount必须
pricing_amountstring定价金额必须
pricing_currencystring定价币种必须
total_amountstring(已过时)总金额,请使用 pricing_amount必须
payment_amountstring支付金额必须
merchant_application_user_idstring商户平台用户id必须
currencystring(已过时)支付币种,请使用 payment_currency必须
payment_currencystring支付币种必须
merchant_nostring商户客户号必须
payer_addrstring付款人链地址必须
tx_hashstring交易hash必须
pay_networkint32支付网络,详见网络枚举必须
app_idstring商户app_id必须

4 交易状态说明#

枚举名称枚举说明
COMPLETED已完成

5 异步返回结果验签#

可参考 php代码的处理异步通知部分
修改于 2025-01-09 03:12:36
上一页
接口规则
下一页
接口错误码
Built with