Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
youka-api
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
java-youka-wallet
youka-api
Commits
735d8804
Commit
735d8804
authored
Apr 18, 2018
by
Java-聂换换
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
huanqiuuiju通道支付
parent
1e875c5e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
87 additions
and
51 deletions
+87
-51
AlipayService.java
src/main/java/com/thinkgem/jeesite/modules/pay/alipay/service/AlipayService.java
+87
-15
HuanqiuhuijuService.java
src/main/java/com/thinkgem/jeesite/modules/pay/huanqiuhuiju/service/HuanqiuhuijuService.java
+0
-36
No files found.
src/main/java/com/thinkgem/jeesite/modules/pay/alipay/service/AlipayService.java
View file @
735d8804
...
@@ -4,40 +4,112 @@ import com.alibaba.fastjson.JSONObject;
...
@@ -4,40 +4,112 @@ import com.alibaba.fastjson.JSONObject;
import
com.alipay.api.AlipayApiException
;
import
com.alipay.api.AlipayApiException
;
import
com.alipay.api.AlipayClient
;
import
com.alipay.api.AlipayClient
;
import
com.alipay.api.DefaultAlipayClient
;
import
com.alipay.api.DefaultAlipayClient
;
import
com.alipay.api.domain.AlipayTradeAppPayModel
;
import
com.alipay.api.request.AlipayTradeAppPayRequest
;
import
com.alipay.api.request.AlipayTradeCreateRequest
;
import
com.alipay.api.request.AlipayTradeFastpayRefundQueryRequest
;
import
com.alipay.api.request.AlipayTradeFastpayRefundQueryRequest
;
import
com.alipay.api.request.AlipayTradeOrderSettleRequest
;
import
com.alipay.api.request.AlipayTradeOrderSettleRequest
;
import
com.alipay.api.response.AlipayTradeAppPayResponse
;
import
com.alipay.api.response.AlipayTradeCreateResponse
;
import
com.alipay.api.response.AlipayTradeFastpayRefundQueryResponse
;
import
com.alipay.api.response.AlipayTradeFastpayRefundQueryResponse
;
import
com.alipay.api.response.AlipayTradeOrderSettleResponse
;
import
com.alipay.api.response.AlipayTradeOrderSettleResponse
;
import
com.thinkgem.jeesite.common.config.Global
;
import
com.thinkgem.jeesite.common.config.Global
;
import
com.thinkgem.jeesite.common.mapper.JsonMapper
;
import
com.thinkgem.jeesite.common.utils.IdGen
;
import
com.thinkgem.jeesite.modules.pay.juhezhong.utils.MakeOrderNum
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLDecoder
;
import
java.net.URLEncoder
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
static
com
.
alipay
.
api
.
AlipayConstants
.
APP_ID
;
import
static
com
.
alipay
.
api
.
AlipayConstants
.
CHARSET
;
public
class
AlipayService
{
public
class
AlipayService
{
public
JSONObject
alipay
()
throws
AlipayApiException
{
public
JSONObject
alipay
(
JSONObject
dto
)
throws
AlipayApiException
{
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
"https://openapi.alipay.com/gateway.do"
,
Global
.
getConfig
(
"alipay.appid"
),
Global
.
getConfig
(
"alipay.private.key"
),
"json"
,
"UTF-8"
,
Global
.
getConfig
(
"alipay.public.key"
),
"RSA2"
);
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
"https://openapi.alipay.com/gateway.do"
,
Global
.
getConfig
(
"alipay.appid"
),
Global
.
getConfig
(
"alipay.private.key"
),
"json"
,
"UTF-8"
,
Global
.
getConfig
(
"alipay.public.key"
),
"RSA2"
);
AlipayTrade
OrderSettleRequest
request
=
new
AlipayTradeOrderSettl
eRequest
();
AlipayTrade
CreateRequest
request
=
new
AlipayTradeCreat
eRequest
();
request
.
setBizContent
(
"{"
+
request
.
setBizContent
(
"{"
+
"\"out_request_no\":\"20160727001\","
+
"\"out_trade_no\":\"20150320010101001\","
+
"\"trade_no\":\"2014030411001007850000672009\","
+
"\"seller_id\":\"2088102146225135\","
+
" \"royalty_parameters\":[{"
+
"\"total_amount\":88.88,"
+
" \"trans_out\":\"2088101126765726\","
+
"\"discountable_amount\":8.88,"
+
"\"trans_in\":\"2088101126708402\","
+
"\"subject\":\"Iphone616G\","
+
"\"amount\":0.1,"
+
"\"body\":\"Iphone616G\","
+
"\"amount_percentage\":100,"
+
"\"buyer_id\":\"2088102146225135\","
+
"\"desc\":\"分账给2088101126708402\""
+
"\"goods_detail\":[{"
+
" }],"
+
"\"goods_id\":\"apple-01\","
+
"\"operator_id\":\"A0001\""
+
"\"goods_name\":\"ipad\","
+
" }"
);
"\"quantity\":1,"
+
AlipayTradeOrderSettleResponse
response
=
alipayClient
.
execute
(
request
);
"\"price\":2000,"
+
"\"goods_category\":\"34543238\","
+
"\"body\":\"特价手机\","
+
"\"show_url\":\"http://www.alipay.com/xxx.jpg\""
+
"}],"
+
"\"operator_id\":\"Yx_001\","
+
"\"store_id\":\"NJ_001\","
+
"\"terminal_id\":\"NJ_T_001\","
+
"\"extend_params\":{"
+
"\"sys_service_provider_id\":\"2088511833207846\""
+
"},"
+
"\"timeout_express\":\"90m\","
+
"\"business_params\":\"{\\\"data\\\":\\\"123\\\"}\""
+
"}"
);
AlipayTradeCreateResponse
response
=
alipayClient
.
execute
(
request
);
if
(
response
.
isSuccess
()){
if
(
response
.
isSuccess
()){
System
.
out
.
println
(
"调用成功"
);
System
.
out
.
println
(
"调用成功"
);
}
else
{
}
else
{
System
.
out
.
println
(
"调用失败"
);
System
.
out
.
println
(
"调用失败"
);
}
}
return
null
;
return
null
;
}
}
public
static
void
main
(
String
[]
args
)
throws
AlipayApiException
{
public
static
void
main
(
String
[]
args
)
throws
AlipayApiException
{
AlipayService
alipayService
=
new
AlipayService
();
AlipayService
alipayService
=
new
AlipayService
();
alipayService
.
alipay
();
JSONObject
dto
=
new
JSONObject
();
// dto.put("out_request_no", MakeOrderNum.makeOrderNum());// 结算请求流水号 开发者自行生成并保证唯一性
// dto.put("trade_no",IdGen.randomBase62(64)); // 支付宝订单号
// JSONObject royalty_parameters = new JSONObject(); // 分账明细信息
// royalty_parameters.put("trans_out","2088101126765726");// 分账支出方账户,类型为userId,本参数为要分账的支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字
// royalty_parameters.put("trans_in","2088101126708402"); // 分账收入方账户,类型为userId,本参数为要分账的支付宝账号对应的支付宝唯一用户号。以2088开头的纯16位数字。
// royalty_parameters.put("amount","0.1"); // 分账的金额,单位为元
// royalty_parameters.put("amount_percentage","100"); // 分账信息中分账百分比。取值范围为大于0,少于或等于100的整数。
// royalty_parameters.put("desc","desc");
// dto.put("operator_id","operator_id");// 操作员id 可选
alipayService
.
alipay
(
dto
);
alipayService
.
aliPay
(
"0.01"
,
new
HashMap
<>());
}
public
String
aliPay
(
String
amount
,
Map
<
String
,
Object
>
body
){
//实例化客户端
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
"https://openapi.alipay.com/gateway.do"
,
Global
.
getConfig
(
"alipay.appid"
),
Global
.
getConfig
(
"alipay.private.key"
)
,
"json"
,
"UTF-8"
,
Global
.
getConfig
(
"alipay.public.key"
),
"RSA2"
);
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
AlipayTradeAppPayRequest
request
=
new
AlipayTradeAppPayRequest
();
//SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
AlipayTradeAppPayModel
model
=
new
AlipayTradeAppPayModel
();
model
.
setPassbackParams
(
URLEncoder
.
encode
(
body
.
toString
()));;
//描述信息 添加附加数据
model
.
setSubject
(
"魅格"
);
//商品标题
model
.
setOutTradeNo
(
new
SimpleDateFormat
(
"yyyyMMddHHmmss"
).
format
(
new
Date
())+(
int
)(
Math
.
random
()*
90000
+
10000
));
//商家订单编号
model
.
setTimeoutExpress
(
"30m"
);
//超时关闭该订单时间
model
.
setTotalAmount
(
amount
);
//订单总金额
model
.
setProductCode
(
"QUICK_MSECURITY_PAY"
);
//销售产品码,商家和支付宝签约的产品码,为固定值QUICK_MSECURITY_PAY
request
.
setBizModel
(
model
);
request
.
setNotifyUrl
(
"baidu.com"
);
//回调地址
String
orderStr
=
""
;
try
{
//这里和普通的接口调用不同,使用的是sdkExecute
AlipayTradeAppPayResponse
response
=
alipayClient
.
sdkExecute
(
request
);
orderStr
=
response
.
getBody
();
System
.
out
.
println
(
orderStr
);
//就是orderString 可以直接给客户端请求,无需再做处理。
}
catch
(
AlipayApiException
e
)
{
e
.
printStackTrace
();
}
return
orderStr
;
}
}
}
}
src/main/java/com/thinkgem/jeesite/modules/pay/huanqiuhuiju/service/HuanqiuhuijuService.java
View file @
735d8804
...
@@ -17,8 +17,6 @@ import java.util.SortedMap;
...
@@ -17,8 +17,6 @@ import java.util.SortedMap;
@Service
@Service
public
class
HuanqiuhuijuService
{
public
class
HuanqiuhuijuService
{
public
JSONObject
huanqiuhuijuPay
(
JSONObject
dto
)
throws
Exception
{
public
JSONObject
huanqiuhuijuPay
(
JSONObject
dto
)
throws
Exception
{
SortedMap
map
=
Bean2Map
.
JSONObject2SortedMap
(
dto
);
SortedMap
map
=
Bean2Map
.
JSONObject2SortedMap
(
dto
);
String
sign
=
SignUtils
.
createSign
(
map
,
ComCode
.
HUANQIUHUIJU_MERCHANT_KEY
);
String
sign
=
SignUtils
.
createSign
(
map
,
ComCode
.
HUANQIUHUIJU_MERCHANT_KEY
);
...
@@ -28,40 +26,6 @@ public class HuanqiuhuijuService {
...
@@ -28,40 +26,6 @@ public class HuanqiuhuijuService {
System
.
out
.
println
(
"result:"
+
result
);
System
.
out
.
println
(
"result:"
+
result
);
return
JSONObject
.
parseObject
(
result
);
return
JSONObject
.
parseObject
(
result
);
}
}
public
static
void
main
(
String
[]
args
)
throws
Exception
{
HuanqiuhuijuService
huanqiuhuijuService
=
new
HuanqiuhuijuService
();
JSONObject
dto
=
new
JSONObject
();
String
orderId
=
IdGen
.
randomBase62
(
32
);
dto
.
put
(
"transcode"
,
"300"
);
// 交易码
dto
.
put
(
"version"
,
"0100"
);
// 版本号
dto
.
put
(
"ordersn"
,
MakeOrderNum
.
makeOrderNum
());
// 流水号 每次交易都唯一
dto
.
put
(
"merchno"
,
ComCode
.
HUANQIUHUIJU_MERCHANT_ID
);
// 商户号
dto
.
put
(
"dsorderid"
,
orderId
);
// 订单号 唯一
dto
.
put
(
"txnAmt"
,
"1000"
);
// 交易金额
dto
.
put
(
"txnRate"
,
"2"
);
// 费率
dto
.
put
(
"siglePrice"
,
"100"
);
// 单笔价格
dto
.
put
(
"merchno"
,
ComCode
.
HUANQIUHUIJU_MERCHANT_ID
);
// 商户号
dto
.
put
(
"realName"
,
"李波"
);
// 真实姓名
dto
.
put
(
"idCardNo"
,
"53250219850831031X"
);
// 身份证号
dto
.
put
(
"bankCardNo"
,
"6225571645517950"
);
// 银行卡号
dto
.
put
(
"bankCode"
,
"306331003281"
);
// 银行代码
dto
.
put
(
"bankName"
,
"广发银行"
);
// 消费卡银行名称
dto
.
put
(
"phone"
,
"13821934497"
);
// 手机号
dto
.
put
(
"cvn2"
,
"009"
);
dto
.
put
(
"expireDate"
,
"0821"
);
dto
.
put
(
"notifyUrl"
,
Global
.
getConfig
(
"project.access.url"
)+
"/api/pay/notifyPay"
);
dto
.
put
(
"settleBankCode"
,
"102100099996"
);
// 结算银行代码
dto
.
put
(
"settleCardNo"
,
"6212260302011080165"
);
// 结算银行卡
dto
.
put
(
"settlePhone"
,
"13821934497"
);
// 结算手机号
dto
.
put
(
"settleCardBankName"
,
"中国工商银行"
);
// 结算卡银行名称
System
.
out
.
println
(
dto
.
toJSONString
());
huanqiuhuijuService
.
huanqiuhuijuPay
(
dto
);
// 20180417101150959000 20180417101211113000 nXXKJE4LI7VV222bgdjrw3013YQ2ozZSMGGmxhZBGqsDeH9OOu6kB0lP3tYjZm4v
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment