1. 接口规则
为了在保证支付安全的同时,为商户提供简单、一致、易用的开发体验,我们推出了全新的微信支付接口。 本版本API具体规则请参见接口规则。
2、开发准备 2.1. 设置和配置开发环境
为了帮助开发者调用开放接口,我们提供了JAVA、PHP、GO三种语言的开发库,封装了签名生成、签名验证、敏感信息加解密、媒体文件上传等基本功能(更多语言版本)开发库将在不久的将来提供)。
测试步骤:
1.根据自己的开发语言,选择对应的开发库并构建项目。 具体配置请参考下面链接中的详细说明:
-php(新)(推荐),--(新),适合PHP开发人员。 -go(新),适用于 Go 开发人员。
更多资源请前往微信支付开发者社区(新)搜索查看。
2. 创建加载商户私钥、加载平台证书、初始化的通用方法。
示例代码
3. 根据接口示例代码,替换请求参数后即可发起测试。
阐明:
签名生成 签名验证 敏感信息加解密(私钥)(平台证书)(V3密钥) 3.快速接入 3.1. 业务流程图
关键步骤:
步骤2 用户确认支付后,商户调用微信支付订单接口生成预付款交易,获取支付二维码链接;
商户调用订单API后,有正常返回和异常返回两种情况:
步骤4 商户根据返回码生成二维码供用户扫描。 二维码规则请参见3.2.2节说明。
步骤9-11 商户根据返回码生成二维码供用户扫描。 二维码规则请参见3.2.2节说明。
3.2. API访问(包括示例代码)
本章介绍如何使用微信支付服务器SDK快速接入支付产品并完成与微信支付的集成。
注意
3.2.1. [服务器] 下订单
步骤描述:用户在商户PC网站完成商品选择后,进入支付页面。 商户需要通过后台请求订单接口获取支付二维码链接。
示例代码
重要输入说明:
更多参数、响应详情和错误码请参考订单接口文档。
3.2.2. [客户端]生成支付二维码
步骤描述:通过订单API成功获取支付二维码链接()后,需要在前端(PC网页或POS机)生成二维码,供用户扫描支付。
注意
例如:////up?pr=&=00生成如下所示的二维码
( 新的 )
3.2.3. [服务器]接收支付结果通知
步骤描述:当用户完成支付后,微信会通过异步回调的方式通知商户相关支付结果。 商户需要按照文档规范接收处理并返回响应。
注意
更多参数、响应详情和错误码请参考支付结果通知接口文档。
3.2.4. [服务器]查询订单
步骤描述:当商户后台、网络、服务器等出现异常,商户系统未收到支付通知时,商户可以通过订单查询接口验证订单支付状态。
注意
需要调用查询接口的情况:
示例代码
更多参数、响应详情及错误码请参考微信支付订单号/商户订单号接口文档。
3.2.5. [服务器]关闭订单
步骤描述:当商户订单支付失败时,需要生成新的订单号才能重新发起支付。 下单后必须调用关闭原订单号,避免重复付款。 系统下单后,用户付款超时,系统退出,不再接受,阻止用户继续。 请调用自定义订单接口
注意
示例代码
更多参数、响应详情和错误码请参考平仓通知API接口文档。
3.2.6. [服务器]申请交易账单
步骤说明:微信支付每天都会提供交易账单文件,商户可以通过该接口获取账单文件的下载地址。
示例代码
更多参数、响应详情和错误码请参考应用交易账单接口文档。
3.2.7. [服务器]下载账单
步骤描述:通过应用交易账单接口获取账单下载地址()后,通过该接口获取对应的账单文件。 该文件包含交易相关金额、时间、营销等信息,供商户查询订单、退款、银行到账等。
注意
示例代码
更多参数、响应详情和错误码请参考下载账单接口文档。
4.常见问题 问:微信支付生成的二维码有有效期吗?
答:二维码的有效期根据订购界面的响应情况确定,有效期为2小时。
Q:扫描二维码付款后,提示:付款失败。 该商户暂不支持长按识别二维码支付。
A:微信支付不再支持长按识别二维码或通过相册识别二维码进行支付。