对于所有做过支付接口的程序员来说,支付宝支付接口应该是最常见的支付接口了,现在微信支付也流行起来了,几乎跟支付宝支付并驾齐驱。两者的支付接口的实现都不会难,只是由于支付环境的不同,对于接口的代码要有所区分,像微信支付接
口,就有扫码支付,手机端支付和H5支付,虽然支付接口的代码大同小异,但还是要注意一些不同的关键点。本文主要还是讲下支付宝境外支付接口的实现方法,还是一个非常主要的关键点,最后会讲到。
首先的第一步,跟国内的支付宝接口那样操作,先到支付宝官网下载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',这样就可以顺利完成支付接口的对接了。
作者:方维网络陈应信