自动售货机接入微信/支付宝支付,看这一篇就够~YH
移动支付已成为消费主流售货机必须支持扫码支付才能抓住用户。本文详解微信支付、支付宝支付对接流程从申请资质到代码实现一站式搞定。一、支付接入前的准备工作资质要求微信支付需要营业执照和对公账户审核周期1到3个工作日。支付宝支付同样需要营业执照和对公账户审核周期1到3个工作日。云闪付需要营业执照审核周期1到5个工作日。账号申请流程微信支付需要登录微信支付商户平台提交企业资质包括营业执照、法人身份证、对公账户签署协议等待审核审核通过后获取商户号、API密钥、证书。支付宝支付需要登录支付宝开放平台创建应用选择当面付能力提交资质审核审核通过后获取APPID、应用私钥、支付宝公钥。支付模式选择售货机场景推荐使用扫码支付模式。用户选择商品后售货机显示付款二维码用户扫码后支付平台处理交易支付成功后支付平台回调通知售货机最后售货机执行出货完成交易。二、微信支付对接核心流程微信扫码支付主要包含四个环节。统一下单接口生成预支付交易返回支付二维码链接。用户扫码完成支付。支付成功后微信主动回调通知商户。商户确认收到回调后执行出货。统一下单调用微信统一下单接口时需要传入订单号、商品描述、金额等参数。微信返回支付二维码链接售货机将链接转换为二维码图片显示给用户。订单号需要保证唯一性建议使用设备编号加时间戳加序号的方式生成。支付结果回调用户支付成功后微信服务器会主动回调商户的接口。回调通知包含订单号、支付金额、支付时间等信息。商户必须验证回调签名的合法性防止伪造通知。验证通过后执行出货操作并返回成功响应。订单状态查询由于网络原因回调可能丢失或延迟售货机需要主动轮询查询订单状态。建议每3到5秒查询一次超时时间设为3分钟。用户支付后如果一直未收到回调轮询可以确保最终完成交易。三、支付宝支付对接核心流程支付宝当面付的流程与微信类似。调用接口创建支付订单返回二维码链接。用户扫码完成支付。支付成功后支付宝回调通知商户。商户确认后执行出货。签名机制支付宝使用RSA2签名算法保证安全性。签名时将请求参数按字典序排序拼接成字符串使用私钥对字符串进行签名。回调验证时使用支付宝公钥验签确保消息来自支付宝。异步通知处理支付宝支付成功后同样会异步回调通知商户。回调参数包含订单号、交易号、支付金额、交易状态等信息。商户需要验证签名、处理业务逻辑、返回SUCCESS响应。四、支付流程优化超时处理用户扫码后如果一直不支付需要设置超时时间建议3到5分钟。超时时关闭订单释放库存避免资源占用。同时提示用户重新下单。异步回调加轮询双重确认支付结果确认推荐使用双重机制。异步回调为主支付成功时微信支付宝主动通知。轮询查询为辅定期查询订单状态作为兜底保障。两者结合确保支付结果可靠。五、异常处理与对账常见异常类型用户取消支付时订单状态置为已取消并释放库存。支付超时时自动关闭订单释放库存。网络异常导致回调丢失时通过轮询和日终对账补单。重复支付时去重处理并退款多余金额。日终对账每天晚上与微信支付宝对账核对交易笔数和金额。对账不一致时排查差异原因并处理。对账报告存档备查确保资金安全。六、安全注意事项必做项所有支付接口必须使用HTTPS传输防止数据泄露。回调通知必须验证签名防止伪造。订单金额要与支付金额核对防止篡改。同一订单号不重复处理防止重复出货。完整记录支付流水便于排查问题。防止重复支付使用分布式锁确保同一订单只处理一次。用户支付成功后先检查订单状态已支付的不重复处理。幂等设计保证接口可以安全重试。七、总结本文详细介绍了微信支付和支付宝支付的对接流程关键要点申请商户资质获取API密钥和证书。微信Native Pay和支付宝当面付的接入流程。异步回调加轮询双重保障支付状态确认。异常处理和对账机制确保资金安全。签名验证和幂等处理保障系统安全。支付接入是售货机的核心功能务必在沙箱环境充分测试后再上线生产环境。