用户打开微信扫一扫,扫描商户的二维码后完成支付。这个就是Native支付
1-1选择接入模式:普通商户或普通服务商
1-2申请参数:AppID、商户号
1-3配置应用
如果上面的工作都做完了。你需要微信支付 - 在这里有账号,然后登录进去后做API安全配置。
其他的可以直接看官方文档:
https://pay.weixin.qq.com/docs/merchant/products/native-payment/preparation.html
1-4下载并配置商户证书
下载的证书里面应该有这四个个文件。一定要保存好。
Native支付设计指引
线上扫码收银台界面规范,这个页面自己设计
merchantPrivateKey-商户私钥字符串,这个是那个呢?官方文档详细说明了。
商户申请商户 API 证书时,证书工具会生成商户私钥,并保存在本地证书文件夹的文件 apiclient_key.pem 中。私钥也可通过工具从商户的 p12 证书中导出。
官方文档
当秘钥。商户号。应用ID,证书。V3api秘钥都写了的时候。报错了。
原因:这个就是appid没写对或者把appid写成了appId,参数要跟文档一致
解决:我这里使用fastjson,所以在序列化的时候。我给加了一个注解@JSONField(name = “appid”)将参数名改为appid.
@Setter
@Getter
@Builder
public class PayParam {
/**
* 应用ID
*/
@JSONField(name = "appid")
private String applicationId; // 应用id
/**
* 商户ID
*/
@JSONField(name = "mchid")
private String merchantId; // 商户id
/**
* 商品描述
*/
@JSONField(name = "description")
private String description; //商品描述
/**
* 订单号
*/
@JSONField(name = "out_trade_no")
private String outTradeNo; //订单号
/**
* 支付成功回调通知地址
*/
@JSONField(name = "notify_url")
private String notifyUrl; // 支付成功回调通知地址
/**
* 订单金额信息
*/
private Amount amount; //订单金额信息
}
原因是长时间没有使用支付、执照过期被停了等。收款功能呗限制了。
然后前往操作就可以了。需要管理员身份才可以。大概几天就好了。
下面这个是我的个人公共号 只会写Bug的程序猿,大家可以关注一下,一键三连。相互交流学习。