开发前:
一、先阅读注意事项,https://fundwx.fuiou.com/doc/#/aggregatePay/introduction?id=%e6%8e%a5%e5%8f%a3%e8%af%b4%e6%98%8e 很多注意点和开发思路在具体的接口中没有体现,先阅读注意事项可以避坑,比如订单号长度和组成规则,不同于微信支付和支付宝,富友的要求比较复杂。
二、测试环境参数是不能执行到实际支付的,以“公众号/服务窗统一下单接口”为例,使用测试账号和对应的测试接口地址,会返回“ [result_code] => 030001 [result_msg] => 当前商户需补齐相关资料后,才可进行相应的支付交易,请商户联系对接的微信支付服务商 ”,技术人员反馈测试环境只能走到这一步,但是在文档中没有任何说明。
开发中:
一、支付响应代码中“result_code”为“000000”代表成功,但是查询接口“订单查询接口——commonQuery”中“result_code”为“000000”并不代表查询结果支付成功,只是查询到了支付情况,成功与否还要看“trans_stat”字段,为“SUCCESS”才是支付成功。
二、支付订单号“mchnt_order_no”不能重复,所以对于客户多次尝试支付的情况,要每次生成一个新的订单号,去执行支付(这里和微信和支付宝相似),但是在实际支付中可能会出现一个订单在多次尝试支付的历史中,中间某一次成功支付,而不是最后一次,这就要对订单号支付状态和实际订单状态之间联动做好处理,并且因为支付结果可能需要后台轮询的情况,这里的业务逻辑就比较复杂了。
三、支付成功后的回调地址“notify_url”可能无效,平台没有给出原因,并且平台方的技术支持声称回调不能100%执行成功,所以实际情况中后台轮询支付结果在所难免。
以上情况仅供参考,在实际开发中发现富友可能更适合搭配收银机使用(他们平台的专长),线上支付的API接口感觉并不是很好用,网上的帖子也比较少,有经验的朋友们多交流吧。