支付宝与微信支付及原路退款(一)

          以前上一家公司做项目的,并没有做过支付宝app和微信app支付,现在这家公司是做自己的产品,涉及了支付业务。花了一天的时间集成,目前已使用了接近一年的时间。在这使用和开发过程中遇到许多坑,现在跟大家分享一下。

         一、支付宝app支付

                1、首先亲得在支付宝商户平台申请app应用,然后审核通过后获得相对应的应用配置:partner  签约账号 以2088开头;private_key  商户私钥  亲可以在支付宝官网下载对应操作系统的私钥生产工具;alipay_public_key  支付宝公钥,通过私钥生成工具生成的支付宝公钥,并上传至支付宝官网。sign_type  签名方式  ,本人使用的RSA;支付宝签名方式分为RSA和RSA2,小伙伴在开发时一定要注意自己私钥的格式以及对应的签名格式;input_charset  字符编码格式,使用utf-8;service  接口固定值mobile.securitypay.pay  ;seller  签约的公司支付宝账号 ;app_id  已经签约了app的id。

               2、配置好相对应的应用配置后就可以开发功能了,小伙伴可以在支付宝官网下载服务器端demo,使用其中的工具类。

               3、做好这些前期这些准备工作后直接上代码:

  //应用参数配制,根据不同应用,配置不同的参数
     //应用appid
String  app_id="";
//商户私钥
String  private_key="";
//支付宝公钥验签
String  alipay_public_key="";
//卖家账号
String  seller_id="";
//应用1
if("1".equals(appVersion)){
app_id=AlipayConfig.app_id;
private_key=AlipayConfig.private_key_refund;
alipay_public_key=AlipayConfig.alipay_public_key;
seller_id=AlipayConfig.partner;

}else{  //应用2
app_id=AlipayConfigSecond.APP_ID;
private_key=AlipayConfigSecond.PRIVATE_KEY;
alipay_public_key=AlipayConfigSecond.ALIPAY_PUBLIC_KEY;
seller_id=AlipayConfigSecond.PARTNER;

}
 
//此处使用redis并发处理,防止高并发请求
long size=requestRedisTemplate.boundValueOps("alipayment:lock:"+userId).increment(1);
requestRedisTemplate.expire("alipayment:lock:"+userId,3,TimeUnit.SECONDS);

if(size==1){

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值