您当前的位置:首页 > 网站建设笔记 >

支付宝电脑网站支付触发异步通知的两种情况

0

在翻阅与网站接入支付宝电脑网站支付功能实践操作中,发现支付宝发起异步通知有以下两种情况:

第一种情况:对于 PC 网站支付的交易,在用户支付完成之后,支付宝会根据 API 中商户传入的 notify_url,通过 POST 请求的形式将支付结果作为参数通知到商户系统。对应接收到通知的示例如下:

//以下在沙箱环境中测试返回的数据
2022-03-12 17:38:12 打印异步通知参数
array (
  //交易创建时间。格式为 yyyy-MM-dd HH:mm:ss
  'gmt_create' => '2022-03-12 17:38:01',
  //编码格式。如utf-8、gbk、gb312等
  'charset' => 'UTF-8',
  //交易付款时间。格式为 yyyy-MM-dd HH:mm:ss
  'gmt_payment' => '2022-03-12 17:38:11',
  //通知的发送时间。格式为 yyyy-MM-dd HH:mm:ss
  'notify_time' => '2022-03-12 17:38:12',
  //订单标题/商品标题/交易标题/订单关键字等,是请求时对应参数,会在通知中原样传回
  'subject' => '******吊坠手链;******男女手链;琉璃四方纳财进宝聚宝盆',
  //签名
  'sign' => 'vJoRejQmUU98Joo2cP8UoNNzw6/uWpsiUntAYXjwpsujiEt8AeRg5IauAQmlTyGIFIIOc0HvvapObspjetzND8J0tIr1vkVeMXmdAJovI7RT2VA/w588Xv1mUqykLvk5EoYyLVcyKZZWKSN6nHJRu7YZdx54z8k+4ttJxLTmfvAILtYAxdjjv9U5sVU/IW6Od3CfOoAy1y8E4E7bow9SVw1+wsJjoHhEw+krobDd3M8atGzsywu/TiGy7KZJH2Rdt9priFF+wZWMWyxf+6QDdQZ+5OANG17+ioodM54btnk0dNFudTECTI/WA/EyoKZXCeHhCO8PKzvkErMpSJVFCw==',
  //买家支付宝账号ID。以2088开头的纯16位数字
  'buyer_id' => '2088102174761636',
  //开票金额。用户在交易中支付的可开发票的金额,单位为人民币(元),精确到小数点后2位
  'invoice_amount' => '148.92',
  //调用的接口版本。固定为1.0
  'version' => '1.0',
  //通知校验ID
  'notify_id' => '2022031200222173811061630523233290',
  //支付金额信息。支付成功的各个渠道金额信息
  'fund_bill_list' => '[{"amount":"148.92","fundChannel":"ALIPAYACCOUNT"}]',
  //通知类型
  'notify_type' => 'trade_status_sync',
  //商家订单号。原支付请求的商家订单号
  'out_trade_no' => 'pay_220312173744493',
  //订单金额。本次交易支付订单金额,单位为人民币(元),精确到小数点后2位
  'total_amount' => '148.92',
  //交易状态。交易目前所处状态
  'trade_status' => 'TRADE_SUCCESS',
  //支付宝交易号,支付宝交易凭证号。
  'trade_no' => '2022031222001461630505585435',
  //授权方的APPID。由于本接口暂不开放第三方应用授权,因此auth_app_id=app_id
  'auth_app_id' => '2016**********06',
  //实收金额。商家在交易中实际收到的款项,单位为人民币(元),精确到小数点后2位
  'receipt_amount' => '148.92',
  //使用集分宝支付金额,单位为人民币(元),精确到小数点后2位
  'point_amount' => '0.00',
  //支付宝应用的APPID。支付宝分配给开发者的应用ID
  'app_id' => '2016**********06',
  //用户在交易中支付的金额,单位为人民币(元),精确到小数点后2位
  'buyer_pay_amount' => '148.92',
  //签名类型。签名算法类型,目前支持RSA2和RSA,推荐使用RSA2
  'sign_type' => 'RSA2',
  //卖家支付宝账号ID。以2088开头的纯16位数字
  'seller_id' => '2088**********21',
)

第二种情况:商户系统通过退款接口(alipay.trade.refund 统一收单交易退款接口)将支付款退还给买家,支付宝将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。对应接收到通知的示例如下:

2022-03-12 17:47:18 打印异步通知参数
array (
  'gmt_create' => '2022-03-12 17:38:01',
  'charset' => 'UTF-8',
  'gmt_payment' => '2022-03-12 17:38:11',
  'notify_time' => '2022-03-12 17:47:18',
  'subject' => '******吊坠手链;******男女手链;琉璃四方纳财进宝聚宝盆',
  //交易退款时间。格式为 yyyy-MM-dd HH:mm:ss.S
  'gmt_refund' => '2022-03-12 17:47:17.676',
  'sign' => 'padnkvxNTozee1B96Rv7fRieAgnNsedDmPh8osUTTIq1phonI6QTSTQVaIZxwApfTTn/mfeXXXDlXAhQnwTZAFIAzET4JxWTauanvTORbqew7bl3gXJubPsqJmTHAaKkWJV+MfOeuZYUI5Fqpxecla2n++tFnxI4jbj1wfspmmrOTkGXEAiuA8MztFA7vzd491Q1oBvMpMcmXgXRGvHJHPz22kgoCInm9wHu2lpSUvoMuvX4ivEJeLChkdb4/F+eUbUihvjFITfNeOdNBFed98IYzdyfYMiYZyZiieJ+W2n0mkK+HwlVJetUZb58T9KHFaToygy+o9vghTLhaJEM8A==',
  //商家业务号。商家业务ID,通常是退款通知中返回的退款申请流水号
  'out_biz_no' => '220312173934482',
  'buyer_id' => '2088102174761636',
  'version' => '1.0',
  'notify_id' => '2022031200222174718061630523233291',
  'notify_type' => 'trade_status_sync',
  'out_trade_no' => 'pay_220312173744493',
  'total_amount' => '148.92',
  'trade_status' => 'TRADE_SUCCESS',
  //总退款金额。退款通知中,返回总退款金额,单位为人民币(元),精确到小数点后2位
  'refund_fee' => '88.88',
  'trade_no' => '2022031222001461630505585435',
  'auth_app_id' => '2016**********06',
  'app_id' => '2016**********06',
  'sign_type' => 'RSA2',
  'seller_id' => '2088**********21',
)

建站咨询

在线咨询真诚为您提供专业解答服务

咨询热线

137 1731 25507×24小时服务热线

微信交流

二维码终于等到你,还好我没放弃
返回顶部