一、apiV2和apiV3有什么区别

为进一步保证支付安全及可靠性,微信推出了全新的微信支付V3,用户通过设置APIV3密钥,可以开通【商家转账到零钱】功能。

使用场景:开启【企业付款到零钱】/【商家转账到零钱】功能后,即可开通商城推广员、分销商中的【微信零钱提现】功能。

V2:只支持开通【企业付款到零钱】功能,自2022年5月开始,微信关闭了【企业付款到零钱】功能,升级为【商家转账到零钱】功能,现在APIV2密钥接口无法支持该功能。

V3:可支持开通【商家转账到零钱】功能。相比APIV2,APIV3是其升级版本,具有更高的安全性和可靠性。

二、应用程序中如何解决微信支付提现

1、应用程序中如何解决微信支付提现

在一些程序中,商家为了激励用户,会在用户完成一定任务后,比如邀请好友加入或者观看视频达到一定时间,给予用户一定的现金奖励。这些奖励可以随时通过提现功能,直接提现到用户的微信账户中。那么,这个功能具体是怎么实现的呢?

通过微信支付的“商家转账到零钱”功能,有以下几种方式可以轻松实现。

页面发起转账

这种形式适合无开发能力的商户。

商户平台 -> 产品中心 -> 运营工具 -> 商家转账到零钱 -> 前往功能。

开通好后,手动输入用户信息,进行转账。

API发起转账

这种形式适合具备开发能力且转账频繁的商户。

你可以使用微信支付的API来进行操作。

微信支付提供了丰富的API接口,可以根据需要调用相关接口。

首先,你需要引入相关的依赖库。你可以使用微信支付的Java SDK来简化开发过程,例如使用官方提供的 weixin-java-pay SDK。你可以在项目的 pom.xml 文件中添加以下依赖:

<dependency>

<groupId>com.github.binarywang</groupId>

<artifactId>weixin-java-pay</artifactId>

<version>3.7.0</version>

</dependency>

然后,你可以使用以下代码实现商家转账到零钱功能:

import com.github.binarywang.wxpay.bean.entpay.EntPayRequest;

import com.github.binarywang.wxpay.bean.entpay.EntPayResult;

import com.github.binarywang.wxpay.service.WxPayService;

import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;

public class WeChatTransferToWallet {

private static final String APP_ID = "Your_AppId";

private static final String MCH_ID = "Your_MchId";

private static final String API_KEY = "Your_ApiKey";

public static void main(String[] args) {
WxPayService wxPayService = new WxPayServiceImpl();
wxPayService.setConfig(wxPayConfig());
EntPayRequest request = new EntPayRequest();
request.setAppid(APP_ID);
request.setMchId(MCH_ID);
request.setPartnerTradeNo("Your_Order_No"); // 商户订单号,需要保证唯一性
request.setOpenid("Receiver_OpenId"); // 接收者的OpenID
request.setAmount(100); // 转账金额,单位为分
request.setDescription("转账描述");
request.setSpbillCreateIp("Your_Server_IP");
try {            
EntPayResult result = wxPayService.getEntPayService().entPay(request);
if (result.isSuccess()) {
System.out.println("转账成功");
} else {
System.out.println("转账失败:" + result.getErrCodeDes());
}        
} catch (Exception e) {
e.printStackTrace();
}    
}    

private static WxPayConfig wxPayConfig() {
WxPayConfig payConfig = new WxPayConfig();
payConfig.setAppId(APP_ID);        
payConfig.setMchId(MCH_ID);        
payConfig.setMchKey(API_KEY);
return payConfig;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.

}

在上述代码中,首先定义了微信支付的相关配置信息,包括应用ID(APP_ID)、商户号(MCH_ID)和API密钥(API_KEY)。

然后,创建 WxPayService 对象,并设置相关配置信息。

接下来,创建 EntPayRequest 对象,设置商家转账到零钱请求的参数,包括订单号、接收者的OpenID、转账金额、描述和服务器IP地址。

最后,调用 wxPayService.getEntPayService().entPay(request) 方法发起转账请求。根据返回的结果判断转账是否成功。

请注意,上述示例代码仅为演示目的,你需要替换其中的相关参数,例如替换为你自己的应用ID、商户号和API密钥。同时,你也需要确保你的微信支付账户已经配置了企业付款权限。

此外,为了保证安全性,你还需要在商户系统中实现用户身份验证、金额的合法性检查和错误处理等。

嵌入第三方API代发接口

嵌入摇摇啦SCRM的API代发接口,即使商户号未开通商家转账到零钱的功能,也可以通过API代发接口直接使用商家转账到零钱或现金红包权限,满足你的个性化需求。

API接口是开发者可以调用的多功能集成接口,聚合了现金红包、企业付款到零钱和商家转账到零钱接口。通过调用开放红包接口,可以为小程序、H5、APP等应用赋予红包发放和转账的能力,帮助实现更加定制化的开发需求。

规则&要求

  1. 商家自身需具备开发能力;
  2. 单笔付款金额最低为0.1元,最高为500元;
  3. 参数type=0表示默认现金红包,type=1表示商家转账到零钱;
  4. 同时可以限制每个用户可领取的次数、总金额以及相同IP地址可领取的次数;
  5. 接入应用必须合法合规,不得涉及洗钱、虚拟货币、网络赌博、电信诈骗、数字典藏等违法行为,以及违反微信平台规则的操作;

三、APIv3密钥设置方法

官方文档地址:https://kf.qq.com/faq/180830E36vyQ180830AZFZvu.html