mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 02:55:04 +08:00
update 汇付
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
||||
import com.huifu.adapay.model.Payment;
|
||||
import com.jsowell.JsowellApplication;
|
||||
import com.jsowell.common.constant.CacheConstants;
|
||||
import com.jsowell.common.constant.Constants;
|
||||
@@ -154,6 +157,30 @@ public class SpringBootTestController {
|
||||
@Autowired
|
||||
private IPileAuthCardService pileAuthCardService;
|
||||
|
||||
/**
|
||||
* 创建交易对象
|
||||
*/
|
||||
@Test
|
||||
public void test() {
|
||||
// 请求参数
|
||||
Map<String, Object> paymentParams = Maps.newHashMap();
|
||||
paymentParams.put("order_no", "fasdftawefawefawsdcaseg");
|
||||
paymentParams.put("pay_amt", "0.05");
|
||||
paymentParams.put("app_id", "api_test_a6ac1931-11d6-4d76-8e73-086f8219c9e7");
|
||||
paymentParams.put("pay_channel", "wx_lite");
|
||||
paymentParams.put("goods_title", "Your goods_title");
|
||||
paymentParams.put("goods_desc", "Your goods_desc");
|
||||
paymentParams.put("description", "payment Discription");
|
||||
// paymentParams.put("div_members", [{"amount":"0.05", "fee_flag":"Y", "member_id":"member_id_test"}]);
|
||||
// 调用创建方法,获取 Payment对象_
|
||||
try {
|
||||
Map<String, Object> response = Payment.create(paymentParams);
|
||||
System.out.println(response);
|
||||
} catch (BaseAdaPayException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testupdateElecAmount() {
|
||||
orderBasicInfoService.updateElecAmount();
|
||||
@@ -755,7 +782,7 @@ public class SpringBootTestController {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetMemberToken(){
|
||||
public void testGetMemberToken() {
|
||||
String memberId = JWTUtils.getMemberId("eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NzY1MTY5MzgsImV4cCI6MTY3OTEwODkzOH0.4MwhZIOpnCfQloR7zEm2hwPOh2yyI2qxbBbTcv_SnZ4");
|
||||
System.out.println(memberId);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
package com.jsowell.adapay.common;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 关于支付,Adapay 系统内数据是通过 Payment对象 的形式进行流转,所有的支付相关信息都会存储在这个对象中,
|
||||
* 您可以通过 Adapay 开放的方法创建一个新的 Payment对象,也可以通过 Payment对象 的唯一标识 id 来查询一个已经存在的 Payment对象 状态
|
||||
*/
|
||||
@Data
|
||||
public class AdaPayment {
|
||||
/**
|
||||
* String(64)
|
||||
*
|
||||
* 由 Adapay 生成的支付对象 id, 该 id 在 Adapay 系统内唯一
|
||||
*/
|
||||
private String id;
|
||||
|
||||
/**
|
||||
*
|
||||
* String(20)
|
||||
*
|
||||
* 支付对象,payment
|
||||
*/
|
||||
private String object;
|
||||
|
||||
/**
|
||||
* Timestamp
|
||||
*
|
||||
* 支付创建时的 10 位时间戳
|
||||
*/
|
||||
private String created_time;
|
||||
|
||||
/**
|
||||
* String(64)
|
||||
*
|
||||
* 请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一
|
||||
*/
|
||||
private String order_no;
|
||||
|
||||
/**
|
||||
* String(5)
|
||||
*
|
||||
* 是否 prod模式,true 是 prod模式,false 是 mock模式
|
||||
*/
|
||||
private String prod_mode;
|
||||
|
||||
/**
|
||||
* String(64)
|
||||
*
|
||||
* 控制台 主页面应用的app_id
|
||||
*/
|
||||
private String app_id;
|
||||
|
||||
/**
|
||||
* String(20)
|
||||
*
|
||||
* 支付渠道,参见 支付渠道 说明
|
||||
*/
|
||||
private String pay_channel;
|
||||
|
||||
/**
|
||||
* String(16)
|
||||
*
|
||||
* 交易金额(必须大于 0),保留两位小数点,如0.10、100.05等
|
||||
*/
|
||||
private String pay_amt;
|
||||
|
||||
/**
|
||||
*
|
||||
* String(3)
|
||||
*
|
||||
* 详见 货币代码
|
||||
*/
|
||||
private String currency;
|
||||
|
||||
/**
|
||||
* String(128)
|
||||
*
|
||||
* 可临时用来查询支付订单状态的链接,此链接的有效期只有30分钟
|
||||
*/
|
||||
private String query_url;
|
||||
|
||||
/**
|
||||
* String(128)
|
||||
*
|
||||
* 订单附加说明
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* Map
|
||||
*
|
||||
* 支付渠道请求成功返回的额外参数。详见 支付渠道 expend参数 说明
|
||||
*/
|
||||
private String expend;
|
||||
|
||||
/**
|
||||
* String(64)
|
||||
*
|
||||
* 用户账单上的商户订单号
|
||||
*/
|
||||
private String party_order_id;
|
||||
|
||||
/**
|
||||
* String(64)
|
||||
*
|
||||
* 用户账单上的交易订单号
|
||||
*/
|
||||
private String out_trans_id;
|
||||
|
||||
/**
|
||||
* String(14)
|
||||
*
|
||||
* 用户支付完成时间
|
||||
*/
|
||||
private String end_time;
|
||||
|
||||
/**
|
||||
* String(16)
|
||||
*
|
||||
* 当前交易状态,参见 状态 说明
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
*
|
||||
* String(32)
|
||||
*
|
||||
* 错误码,详见 错误
|
||||
*/
|
||||
private String error_code;
|
||||
|
||||
/**
|
||||
* String(128)
|
||||
*
|
||||
* 错误描述,详见 错误
|
||||
*/
|
||||
private String error_msg;
|
||||
|
||||
/**
|
||||
* String(32)
|
||||
*
|
||||
* 错误类型,详见 错误
|
||||
*/
|
||||
private String error_type;
|
||||
|
||||
/**
|
||||
* String(32)
|
||||
*
|
||||
* 当发生参数错误时返回具体的参数名,便于定位错误原因,详见 错误
|
||||
*/
|
||||
private String invalid_param;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
package com.jsowell.adapay.common;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 创建Adapay 支付对象参数
|
||||
*/
|
||||
@Data
|
||||
public class CreateAdaPaymentParam {
|
||||
/**
|
||||
* String(64)
|
||||
* Y
|
||||
* 请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一
|
||||
*/
|
||||
private String order_no;
|
||||
|
||||
/**
|
||||
* String(64)
|
||||
* Y
|
||||
* 控制台 主页面应用的app_id
|
||||
*/
|
||||
private String app_id;
|
||||
|
||||
/**
|
||||
* String(20)
|
||||
* Y
|
||||
* 支付渠道,参见 支付渠道
|
||||
*/
|
||||
private String pay_channel;
|
||||
|
||||
/**
|
||||
* String(14)
|
||||
* Y
|
||||
* 交易金额,必须大于0,保留两位小数点,如0.10、100.05等
|
||||
*/
|
||||
private String pay_amt;
|
||||
|
||||
/**
|
||||
* String(20)
|
||||
* N
|
||||
* 支付模式,delay- 延时分账模式(值为 delay 时,div_members 字段必须为空);值为空时并且div_mermbers不为空时,表示实时分账;值为空时并且div_mermbers也为空时,表示不分账
|
||||
*/
|
||||
private String pay_mode;
|
||||
|
||||
/**
|
||||
* String(64)
|
||||
* Y
|
||||
* 商品标题
|
||||
*/
|
||||
private String goods_title;
|
||||
|
||||
/**
|
||||
* String(127)
|
||||
* Y
|
||||
* 商品描述信息,微信小程序和微信公众号该字段最大长度42个字符
|
||||
*/
|
||||
private String goods_desc;
|
||||
|
||||
/**
|
||||
* String(3)
|
||||
* N
|
||||
* 3位 ISO 货币代码,小写字母,默认为人民币:cny,详见 货币代码
|
||||
*/
|
||||
private String currency;
|
||||
|
||||
/**
|
||||
* String
|
||||
* N
|
||||
* 分账对象信息列表,最多仅支持7个分账方,json 数组形式,详见 分账对象信息列表
|
||||
*/
|
||||
private String div_members;
|
||||
|
||||
/**
|
||||
* String(128)
|
||||
* N
|
||||
* 订单附加说明
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* String(20)
|
||||
* N
|
||||
* 订单失效时间,输入格式:yyyyMMddHHmmss,最长失效时间为微信、支付宝:反扫类:3分钟;非反扫类:2小时;云闪付:1天,值为空时默认最长时效时间
|
||||
*/
|
||||
private String time_expire;
|
||||
|
||||
/**
|
||||
* Map
|
||||
* Y
|
||||
* 前端设备信息,详见 设备信息
|
||||
*/
|
||||
private String device_info;
|
||||
|
||||
/**
|
||||
* Map
|
||||
* N
|
||||
* 支付渠道额外参数,JSON格式,条件可输入,详见 支付渠道 expend参数
|
||||
*/
|
||||
private String expend;
|
||||
|
||||
/**
|
||||
* String(250)
|
||||
* N
|
||||
* 异步通知地址,url为http/https路径,服务器POST回调,URL 上请勿附带参数
|
||||
*/
|
||||
private String notify_url;
|
||||
|
||||
/**
|
||||
* String(1)
|
||||
* N
|
||||
* 手续费收取模式:O-商户手续费账户扣取手续费,I-交易金额中扣取手续费;值为空时,默认值为I;若为O时,分账对象列表中不支持传入手续费承担方
|
||||
*/
|
||||
private String fee_mode;
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
package com.jsowell.adapay.common;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 设备信息
|
||||
*/
|
||||
@Data
|
||||
public class DeviceInfo {
|
||||
/**
|
||||
* String(2)
|
||||
* N
|
||||
* 设备类型,1 :手机, 2 :平板, 3:手表, 4:PC
|
||||
*/
|
||||
private String device_type;
|
||||
|
||||
/**
|
||||
* String(64)
|
||||
* Y
|
||||
* 交易设备所在的公网 IP
|
||||
*/
|
||||
private String device_ip;
|
||||
|
||||
/**
|
||||
* String(8)
|
||||
* N
|
||||
* 终端设备号,收单机构为商户终端分配的唯一编号。当pay_channel的值为alipay_scan或wx_scan时必填。
|
||||
*/
|
||||
private String device_id;
|
||||
|
||||
/**
|
||||
* String(64)
|
||||
* N
|
||||
* 交易设备 MAC
|
||||
*/
|
||||
private String device_mac;
|
||||
|
||||
/**
|
||||
* String(64)
|
||||
* N
|
||||
* 交易设备 IMEI
|
||||
*/
|
||||
private String device_imei;
|
||||
|
||||
/**
|
||||
* String(64)
|
||||
* N
|
||||
* 交易设备 IMSI
|
||||
*/
|
||||
private String device_imsi;
|
||||
|
||||
/**
|
||||
* String(64)
|
||||
* N
|
||||
* 交易设备 ICCID
|
||||
*/
|
||||
private String device_iccId;
|
||||
|
||||
/**
|
||||
* String(64)
|
||||
* N
|
||||
* 交易设备 WIFIMAC
|
||||
*/
|
||||
private String device_wifi_mac;
|
||||
|
||||
/**
|
||||
* String(64)
|
||||
* N
|
||||
* 交易设备 GPS
|
||||
*/
|
||||
private String device_gps;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.jsowell.adapay.service;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
||||
import com.huifu.adapay.model.Payment;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Service
|
||||
public class AdapayService {
|
||||
|
||||
/**
|
||||
* 创建交易对象
|
||||
*/
|
||||
public void test() {
|
||||
// 请求参数
|
||||
Map<String, Object> paymentParams = Maps.newHashMap();
|
||||
paymentParams.put("order_no", "123456789");
|
||||
paymentParams.put("pay_amt", "0.05");
|
||||
paymentParams.put("app_id", "app_XXXXXXXX");
|
||||
paymentParams.put("pay_channel", "alipay");
|
||||
paymentParams.put("goods_title", "Your goods_title");
|
||||
paymentParams.put("goods_desc", "Your goods_desc");
|
||||
paymentParams.put("description", "payment Discription");
|
||||
// paymentParams.put("div_members", [{"amount":"0.05", "fee_flag":"Y", "member_id":"member_id_test"}]);
|
||||
// 调用创建方法,获取 Payment对象_
|
||||
try {
|
||||
Map<String, Object> response = Payment.create(paymentParams);
|
||||
} catch (BaseAdaPayException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user