受 /t/327476 启发,玩了一下支付宝 API
返回内容始终验不过,头疼…… 求老司机指导
这是支付鸨 sandbox 环境返回的原始内容
{"alipay_trade_pay_response":{"code":"40004","msg":"Business Failed","sub_code":"ACQ.INVALID_PARAMETER","sub_msg":"支付失败,交易参数异常,请顾客刷新付款码后重新收款。如再次收款失败,请联系管理员处理。[INVALID_PARAMETER]","buyer_pay_amount":"0.00","invoice_amount":"0.00","point_amount":"0.00","receipt_amount":"0.00"},"sign":"F9Sv9kCo4luvvk5Tr//Qw5VGiENRIN+6md4NdwMq8CCgYWPsRrClLfVzq1WhaWNtc8No3xDXHK5M2Z1ruzzOgYRDSAsN8nGFuFfpHsrDR64o7BdamycsEoNfps45wRF8Fz8vvHUGbMoUbxy+9OaHxLFF5rmP5EJgZ1/PB8qjZoA="}
签名为 sign 字段, base64 编码,算法 RSA-SHA1 。 待验内容为 alipay_trade_pay_response ,包含大括号部分。
支付鸨公钥( sandbox 环境):
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIgHnOn7LLILlKETd6BFRJ0Gqg
S2Y3mn1wMQmyh9zEyWlz5p1zrahRahbXAfCfSqshSNfqOmAQzSHRVjCqjsAw1jyq
rXaPdKBmr90DIpIxmIyKXv4GGAkPyJ/6FTFY99uhpiq0qadD/uSzQsefWo0aTvP/
65zi3eof7TcZ32oWpwIDAQAB
-----END PUBLIC KEY-----
签名文档:https://doc.open.alipay.com/doc2/detail.htm?treeId=200&articleId=105351&docType=1