simple-pay
專案地址:https://github.com/jinzhangji/simple-pay
專案介紹
simple-pay(簡單支付)集成了支付寶和微信支付(部分),在實際開發中沒有可用整合sdk,因支付專案多,提取部分代碼整合,無縫集成了SpringBoot,使用方便,
實用功能
- 微信實作終端:app、h5、jsapi 支持:下單、查詢(交易查詢)、關閉、退款
- 支付寶實作終端:app、h5 支持:下單、查詢(交易查詢,退款查詢)、關閉、退款
建議開發者使用以下環境,可以避免版本帶來的問題
JDK: JDK1.8+
Maven: 3.6.1
SpringBoot版本: 2.+
組態檔
simple-pay:
alipay:
app-id: appid
private-key: 私鑰
ali-pay-public-key: 支付寶公鑰
notify-url: 統一支付回呼地址
wechat-pay:
sign-key: 簽名加密key
wpp-app-id: 公眾平臺 appid
mchid: 商戶號
woa-app-id: 開放平臺 appid
pk12-path: 退款p12證書,默認取classpath路徑,例如 refund.p12(有效性待驗證)
notify-url: 統一支付回呼地址
支付模板:SimplePayTemplate
/**
* 指定終端支付
* @param terminal
* @return
*/
SimplePay terminal(String terminal);
/**
* h5支付
* @return
*/
SimplePay h5();
/**
* app支付
* @return
*/
SimplePay app();
/**
*
* 獲取PC
* @return
*/
SimplePay pc();
/**
* 微信公眾號支付
* @return
*/
SimplePay wpp();
/**
* 根據支付方式和終端獲取
* @param method 支付方式
* @param terminal 終端
* @return
*/
SimplePay getSimplePay(PayMethod method, String terminal);
/**
* 獲取微信指定終端
* @param terminal
* @return
*/
SimplePay getWechatPay(String terminal);
/**
* 獲取支付寶指定終端
* @param terminal
* @return
*/
SimplePay getAliPay(String terminal);
支持終端
public class TerminalConst {
//h5移動端
public static final String H5 = "h5";
//pc網頁
public static final String PC = "pc";
//app
public static final String APP = "app";
//微信公眾號
public static final String WPP = "wpp";
}
創建業務引數物件
//微信統一下單引數物件
SimplePays.WeChat.createUnifiedOrderParam()
//支付寶統一下單引數物件
SimplePays.Ali.createUnifiedOrderParam()
//其他業務引數
...
使用樣例
@Autowired
private SimplePayTemplate simplePayTemplate;
WechatPayUnifiedOrderParam unifiedOrderParam = SimplePays.WeChat.createUnifiedOrderParam();
unifiedOrderParam.setNonce_str(IdUtil.simpleUUID());
unifiedOrderParam.setBody("測驗支付");
unifiedOrderParam.setTotal_fee(10);
unifiedOrderParam.setSpbill_create_ip(userIp);
unifiedOrderParam.setOrder_id(orderId);
unifiedOrderParam.setOpenid(openId);//woa 支付使用,
unifiedOrderParam.setOut_trade_no(orderNo);
unifiedOrderParam.setRedirect_url(redirectUrl);//h5重定向鏈接
try{
WechatUnifiedOrderResult unifiedOrderResult = simplePayTemplate.h5().unifiedOrder(unifiedOrderParam);
if(!unifiedOrderResult.isSuccess()){
//失敗
}else{
//成功
}
}catch (SimplePayException e){
//例外
}
//其他業務API
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/257162.html
標籤:區塊鏈
上一篇:《CROSS x Heco嗨夠紅包周》——到CROSS參與拍賣 瓜分20,000U等值HT
下一篇:卡槽競拍,對未來生態有何影響
