2.2 加签验签说明
2.2.1.双向认证
1.
2.
3.
4.
5.
6.
2.2.2 签名
{
"appId": "APP_8428691003",
"timestamp": 1736161389,
"requestId": "20250106190309282906",
"signType": "RSA2",
"bizContent": "{"payType":"ALIPAY","paySubType":"NATIVE","mchOrderNo":"20250106190309762141","amount":"0.1","subject":"\u6d4b\u8bd5","description":"\u6d4b\u8bd5","notifyUrl":"https:\/\/api.huilianlink.com\/openapi","clientIp":"192.168.1.1"}"
}
appId=APP_8428691003&bizContent={"payType":"ALIPAY","paySubType":"NATIVE","mchOrderNo":"20250106190309762141","amount":"0.1","subject":"\u6d4b\u8bd5","description":"\u6d4b\u8bd5","notifyUrl":"https:\/\/api.huilianlink.com\/openapi","clientIp":"192.168.1.1"}&requestId=20250106190309282906&signType=RSA2×tamp=1736161389
slkk/cNEv9kMey0Ae8tqVeoMl1g0KPluLLNkMoQu3GoimNJSNk+yWShFtpSwbh/LzxEm3/IIjjdInNyTG4By7xpEXWeGBzXlDNwW/keKr0qZcLDOWjM9x1Z8L9TZ4M01HpAu1rSrccFIhwfoaHF3aF0xz1HGNx6mlQl+oJ02L772RDfxgszA9nVgy8Cyti8paBnVEUENa3MZVEde/JN8VdsuPZeO7G50YoXzcqHTkp2ZnL6wiTxMiuxnyb4L8b/qTFo4B2TaSNt4Yp6E3A194ei84r8LdZezQYLKSnGzN6be7YuCpwDm1eMrzEYoqGiToBuoAhz+TzuA1vceHIGPlA==
{
"appId": "APP_8428691003",
"timestamp": 1736161389,
"requestId": "20250106190309282906",
"signType": "RSA2",
"bizContent": "{"payType":"ALIPAY","paySubType":"NATIVE","mchOrderNo":"20250106190309762141","amount":"0.1","subject":"\u6d4b\u8bd5","description":"\u6d4b\u8bd5","notifyUrl":"https:\/\/api.huilianlink.com\/openapi","clientIp":"192.168.1.1"}",
"sign": "slkk/cNEv9kMey0Ae8tqVeoMl1g0KPluLLNkMoQu3GoimNJSNk+yWShFtpSwbh/LzxEm3/IIjjdInNyTG4By7xpEXWeGBzXlDNwW/keKr0qZcLDOWjM9x1Z8L9TZ4M01HpAu1rSrccFIhwfoaHF3aF0xz1HGNx6mlQl+oJ02L772RDfxgszA9nVgy8Cyti8paBnVEUENa3MZVEde/JN8VdsuPZeO7G50YoXzcqHTkp2ZnL6wiTxMiuxnyb4L8b/qTFo4B2TaSNt4Yp6E3A194ei84r8LdZezQYLKSnGzN6be7YuCpwDm1eMrzEYoqGiToBuoAhz+TzuA1vceHIGPlA=="
}
2.2.3 验签
:::
{
"code": 200,
"data": {
"mchOrderNo": "10_1735817737_2",
"payOrderNo": "D20250102193537469265920",
"channelOrderNo": "532025010222001446751453758049",
"insOrderNo": "532025010222001446751453758049",
"payDataType": null,
"payInfo": null,
"state": 3,
"amount": "0.10",
"payAmount": "0.10",
"payType": "ALIPAY",
"paySubType": "NATIVE",
"sceneType": 1,
"providerCode": "S1524906003",
"channelCode": "helipay",
"subChannelId": null,
"subMchId": "E1808713759",
"feeAmount": "0.00",
"feeRate": "0.00",
"channelFeeAmount": null,
"channelFeeRate": null,
"settlementAmount": "0.10",
"subject": "市内打车",
"description": null,
"successTime": 1735817787000,
"acctInfos": "[{\"accountNo\":\"E1808716289\",\"amount\":0.03,\"description\":\"司机服务\",\"fundStatus\":4,\"outOrderNo\":\"1735817787975khKAHJLk\"}]"
},
"msg": "成功",
"appId": "APP_8428691003",
"sn": "M428683001",
"sign": "YGNws+XDZah6NCopyMUwwzd7xtkjDV3jXEc7k34JsCGBeKKu3sMOFrhLaHN7k1Mgp2QEetneOUFrqK2Z+N0gwTwnBX5GJFzjyi12+AJoP3fJq0deVyrpSFt7/OmitFs1nf2HL5ob6xQfnM+5e7CXlwaGoW3OYZ5w1f6FUR1EFhCVp/vC+2lgrOzW10PoiYA0M7KHxIkrnrqGgKYcSLdy4D/rVpyH7biOG3RYFe7qfsKUtvWPfRtwlD6CziFoUTPauW3mgP/bGK4u+4aBnOHPiY3R0lOdtmhEapEliEsBf31WoE+UOVfNpqZBjnEKXkhB5ZuZluB4ELTNShTZXBWsOQ==",
"timestamp": "1735956920",
"signType": "RSA2"
}
此处请注意如果data有返回字段值是一个url地址的 请不要将url进行转义 否则将会出现验签不通过的情况 php处理转json时请加上JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES,如:this->getSignContentData($params['data']), JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
appId=APP_8428691003&code=200&data={"acctInfos":"[{\"accountNo\":\"E1808716289\",\"amount\":0.03,\"description\":\"司机服务\",\"fundStatus\":4,\"outOrderNo\":\"1735817787975khKAHJLk\"}]","amount":"0.10","channelCode":"helipay","channelOrderNo":"532025010222001446751453758049","feeAmount":"0.00","feeRate":"0.00","insOrderNo":"532025010222001446751453758049","mchOrderNo":"10_1735817737_2","payAmount":"0.10","payOrderNo":"D20250102193537469265920","paySubType":"NATIVE","payType":"ALIPAY","providerCode":"S1524906003","sceneType":1,"settlementAmount":"0.10","state":3,"subMchId":"E1808713759","subject":"市内打车","successTime":1735817787000}&msg=成功&signType=RSA2&sn=M428683001×tamp=1735956920
YGNws+XDZah6NCopyMUwwzd7xtkjDV3jXEc7k34JsCGBeKKu3sMOFrhLaHN7k1Mgp2QEetneOUFrqK2Z+N0gwTwnBX5GJFzjyi12+AJoP3fJq0deVyrpSFt7/OmitFs1nf2HL5ob6xQfnM+5e7CXlwaGoW3OYZ5w1f6FUR1EFhCVp/vC+2lgrOzW10PoiYA0M7KHxIkrnrqGgKYcSLdy4D/rVpyH7biOG3RYFe7qfsKUtvWPfRtwlD6CziFoUTPauW3mgP/bGK4u+4aBnOHPiY3R0lOdtmhEapEliEsBf31WoE+UOVfNpqZBjnEKXkhB5ZuZluB4ELTNShTZXBWsOQ==
验签结果
ture
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgwU1uQUvv5jsUjet/EKQYnfATAEgu6LMM8LTUMW6VOJ8kj3efB77+Ik28HXJfGfr31mCCq0YQSgb4NN2bXZjxCzhwo/DPXQev065Xhtxs7mK+hQKS4h+7oTAFUrze9Ey8NocraP8RVzJMIcSaGcSMHse4fqfyTbQupWr9ClvvjDlZowVuivXFSzPjCdAWHK1/9zonhjKYs9t/yAY+9I8mm+haT0ux3zE9R9zlApf3JCrCrRheg/WJhJXjb45lIYYMmZkMLKFn4W2ZdXmcH2ZlD1qG3B0nhtd5G6Nwfi+UEKhy5kMlig51rw99w2VAP/t29MFPzklS17SmKMgu7t8MQIDAQAB
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkvZ5wQisEcO9DSK1WV/HG4E7IQufNPGXJqtyeOdj7z/JF7PzIEQPbDtxjltXei9rZf54RfKAAnJCwqHR81f9KQC6ieUTInSyAcb5zEv3hECjVNq1jMm3LVcalepm0SJNbofW+0LACeXKGmUbcR1dIhdwWu/RDjdek7+/TD3j0fnDkhHUa2XU+nKdelq1gpoO9E090QwroYYOovgPlKHz1SkTz5oXTwga2UoBsfGo8VHjutuWCi2XWavBJrt58JkbXDDrp0oamYA4ZeoK/qmlA2xMBp47+TWnVmVIyFksXca27hAmh8mHA4EaZkmvsosPbh0N92wRAMkD71lU8PKp9wIDAQAB
2.2.4 示例代码【RSA2为例】以下为AI自动生成仅供参考