使用ThinkPHP实现支付宝境外支付接口的经验总结
首先的第一步,跟国内的支付宝接口那样操作,先到支付宝官网下载php接口文件,然后再集成到网站上,现在讲下要一些主要的步骤,首先是引入相类库如下图所示:
接口下来是传递参数,如下图所示:
由于网站做的是境外交易,所以service需要填写create_forex_trade,不能填错,否会提示参数错误;partner是商家申请支付接口后,成功申请支付宝接口后获取到的PID;currency是指交易的货币代码,例如我们这里使用港币支付,就填写”HKD”,具体的货币代码可以在支付宝接口文档上查找。现在讲下最重要的一点参数:product_code,这也是我花费时间在这里最多的地方,别小看这个参数,虽然国内的接口里对这个参数有了明确的详解,例如使用PC端支付的接口,product_code就填写FAST_INSTANT_TRADE_PAY,用手机端支付的接口,product_code填写QUICK_WAP_WAY,其他如AAP支付接口,product_code就填写QUICK_MSECURITY_PAY.但是你看图上的product_code为'NEW_OVERSEAS_SELLER',在得到这个参数值之前,我上百度搜索还是支付宝接口的网站查找接口报错的原因,如下图所示:
然后我就百度搜索“订单信息无法识别,建议联系卖家”和“错误码:INVALID_PARAMETER”,结果都没找到问题的所在,然后再去google搜索,同样没能解决问题。当然我心里就比较急躁了,然后我发现支付宝海外的网站有在线客服,然后我就试着联系下,客服人员先用英文和我打招呼,然后又用中文打招呼,我一看能用中文交流,就把上面的问题截图给他,他立马给了我答案,就是没填写上product_code的值,而且要填写成'NEW_OVERSEAS_SELLER'(新海外卖家),果然是少了这个参数,填写后接口就成功对接上了。就因为这个坑白白费了半天时间。
总结下,支付宝境外支付接口基本跟国内的接口代码是一致的,要注意两点,一是货币代码不是写错,二是要填写正确的product_code,一般填写'NEW_OVERSEAS_SELLER',这样就可以顺利完成支付接口的对接了。作者:优加网络陈应信