700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java支付宝提现功能 单笔转账到支付宝账户

java支付宝提现功能 单笔转账到支付宝账户

时间:2024-02-23 07:02:32

相关推荐

java支付宝提现功能 单笔转账到支付宝账户

近期公司app要接入账户余额提现的功能,我负责调通支付宝和微信的接口。期间遇到了一些坑,支付宝的还好,文档比较健全,调用也比较简单。微信的就太坑啦。本篇只把我介入支付宝的过程叙述一下。

1.需求类似于这样

2.首先登陆到支付宝商户平台平台:/index.htm

3.进去【开发者中心】--》【网页、移动应用】

4.选择支付接入,然后创建一个应用

5.在创建应用的界面,上传应用图标(注意最好是正式点的图标,不能是人或者动物的),选择单笔转账到支付宝账户的功能(需要用到什么就够选什么功能),填上支付宝公钥(公钥生成方式见支付宝文档)。之后提交审核就可以了,审核之后appId就可用了。

6.然后参考支付宝的api文档进行开发,文档地址:https://docs./309/106236/,比较重要的就是生成公钥私钥的时候一定要把公钥私钥备份好,不能丢了。私钥写到本地程序里面,生成的公钥设置到步骤5的应用里面,应用审核通过之后会有一个【支付宝公钥】,这个公钥再写到程序的公钥里面。大体思路是这样,详细的待会代码见~~

7.支付宝审核阶段可以用沙箱测试环境进行测试:我的沙箱界面是

沙箱账号:

8.上代码:很简单的~~

package com.qlwb.business.payment;

import java.util.HashMap;

import java.util.Map;

import com.alibaba.fastjson.JSON;

import com.alipay.api.AlipayApiException;

import com.alipay.api.AlipayClient;

import com.alipay.api.DefaultAlipayClient;

import com.alipay.api.request.AlipayFundTransToaccountTransferRequest;

import com.alipay.api.response.AlipayFundTransToaccountTransferResponse;

import com.aspire.boc.util.ResourceManager;

import com.google.gson.Gson;

import com.qlwb.business.payment.vo.AlipayVo;

/**

* 支付宝账号向用户转账工具类(单例)

* @author Administrator

*

*/

public class Alipay {

//关联配置文件

private static ResourceManager rm = ResourceManager.getInstance();

private static String gateway=rm.getValue("gateway");//支付宝网关

private static String appid=rm.getValue("appid");//阿里公共账户的id

private static String private_key=rm.getValue("private_key");//私钥

private static String input_charset=rm.getValue("input_charset");//字段类型

private static String ali_public_key=rm.getValue("ali_public_key");//公钥

private static AlipayClient alipayClient;

private static Alipay instance=new Alipay();

private Alipay(){

alipayClient=new DefaultAlipayClient(gateway, appid, private_key, "json",input_charset,ali_public_key,"RSA2");

}

public static Alipay getInstance(){

return instance;

}

/**

* 支付宝向用户转账

* @param bizNo 逻辑单号

* @param amount 转账金额 "1.21"单位元

* @param account 支付宝账号

* @param userName 支付宝真实姓名

* @return

*/

public Map<String,String> alipay2User(String bizNo,String amount,String account,String userName){

Map<String,String> resultMap=new HashMap<String,String>();

AlipayVo vo = new AlipayVo();

vo.setOut_biz_no(bizNo);

vo.setPayee_type("ALIPAY_LOGONID");

vo.setAmount(amount);

vo.setPayee_account(account);

vo.setPayer_show_name(userName);

vo.setPayee_real_name(userName);

vo.setRemark("支付宝转账");

String json = new Gson().toJson(vo);

// 设置请求参数

AlipayFundTransToaccountTransferRequest alipayRequest = new AlipayFundTransToaccountTransferRequest();

alipayRequest.setBizContent(json);

AlipayFundTransToaccountTransferResponse response=null;

try {

response = alipayClient.execute(alipayRequest);

System.out.println(JSON.toJSONString(response));

if("10000".equals(response.getCode())){

resultMap.put("success", "true");

resultMap.put("des", "转账成功");

}else{

resultMap.put("success", "false");

resultMap.put("des", response.getSubMsg());

}

} catch (AlipayApiException e) {

e.printStackTrace();

resultMap.put("success", "false");

resultMap.put("des", "转账失败!");

}

return resultMap;

}

}

自己封装的一个单例,所有额配置都在配置文件里面。恩,就是这样

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。