微信支付-Native支付中遇到的问题

用户打开微信扫一扫,扫描商户的二维码后完成支付。这个就是Native支付

准备工作

1-1选择接入模式:普通商户或普通服务商
1-2申请参数:AppID、商户号
1-3配置应用
如果上面的工作都做完了。你需要微信支付 - 在这里有账号,然后登录进去后做API安全配置。
在这里插入图片描述

其他的可以直接看官方文档:
https://pay.weixin.qq.com/docs/merchant/products/native-payment/preparation.html
1-4下载并配置商户证书
下载的证书里面应该有这四个个文件。一定要保存好。
在这里插入图片描述

Native支付设计指引
线上扫码收银台界面规范,这个页面自己设计
在这里插入图片描述

Java接入的时候有个商户私钥字符串?

merchantPrivateKey-商户私钥字符串,这个是那个呢?官方文档详细说明了。
商户申请商户 API 证书时,证书工具会生成商户私钥,并保存在本地证书文件夹的文件 apiclient_key.pem 中。私钥也可通过工具从商户的 p12 证书中导出。
官方文档

{“code”:“PARAM_ERROR”,“detail”:{“location”:“body”,“value”:“”},“message”:“输入源“/body/appid”映射到字段“公众号ID”必填性规则校验失败,此字段为必填项”}

在这里插入图片描述

当秘钥。商户号。应用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; //订单金额信息

}

403,return body = {“code”:“NO_AUTH”,“message”:“此商家的收款功能已被限制,暂无法支付。商家可以登录微信商户平台/微信支付商家助手小程序查看原因和解决方案。”}

原因是长时间没有使用支付、执照过期被停了等。收款功能呗限制了。
在这里插入图片描述

然后前往操作就可以了。需要管理员身份才可以。大概几天就好了。

在这里插入图片描述

下面这个是我的个人公共号 只会写Bug的程序猿,大家可以关注一下,一键三连。相互交流学习。

  • 22
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拈㕦一笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值