update
This commit is contained in:
parent
2524f34c33
commit
f03c79a4ed
@ -4,6 +4,7 @@
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
mch_base_url=https://api.mch.weixin.qq.com
|
||||
payapp_base_url=https://payapp.weixin.qq.com
|
||||
|
||||
# \u53D1\u9001\u73B0\u91D1\u7EA2\u5305
|
||||
redpack_send_uri={mch_base_url}/mmpaymkttransfers/sendredpack
|
||||
@ -35,10 +36,6 @@ coupon_send_uri={mch_base_url}/mmpaymkttransfers/send_coupon
|
||||
couponstock_query_uri={mch_base_url}/mmpaymkttransfers/query_coupon_stock
|
||||
# \u67E5\u8BE2\u4EE3\u91D1\u5238\u8BE6\u7EC6\u4FE1\u606F
|
||||
coupondetail_query_uri={mch_base_url}/mmpaymkttransfers/querycouponsinfo
|
||||
# \u53D1\u9001\u73B0\u91D1\u7EA2\u5305
|
||||
redpack_send_uri={mch_base_url}/mmpaymkttransfers/sendredpack
|
||||
# \u67E5\u8BE2\u73B0\u91D1\u7EA2\u5305
|
||||
redpack_query_uri={mch_base_url}/mmpaymkttransfers/gethbinfo
|
||||
# \u4F01\u4E1A\u5411\u4E2A\u4EBA\u4ED8\u6B3E
|
||||
corppayment_send_uri={mch_base_url}/mmpaymkttransfers/promotion/transfers
|
||||
# \u4F01\u4E1A\u4ED8\u6B3E\u67E5\u8BE2
|
||||
@ -56,4 +53,12 @@ exchagerate_query_uri={mch_base_url}/pay/queryexchagerate
|
||||
# \u8BA2\u5355\u9644\u52A0\u4FE1\u606F\u63D0\u4EA4
|
||||
customsorder_declare_uri={mch_base_url}/mch/customs/customdeclareorder
|
||||
# \u8BA2\u5355\u9644\u52A0\u4FE1\u606F\u67E5\u8BE2
|
||||
customsorder_query_uri={mch_base_url}/mch/customs/customdeclarequery
|
||||
customsorder_query_uri={mch_base_url}/mch/customs/customdeclarequery
|
||||
# \u5237\u8138\u652F\u4ED8\u4EA4\u4E92\u6D41\u7A0B--\u83B7\u53D6\u8C03\u7528\u51ED\u8BC1
|
||||
get_wxpayface_authinfo_uri={payapp_base_url}/face/get_wxpayface_authinfo
|
||||
# \u65E7\u7248\u5237\u8138\u652F\u4ED8\u63A5\u53E3
|
||||
facepay_url={mch_base_url}/pay/facepay
|
||||
# \u652F\u4ED8\u62BC\u91D1\uFF08\u4EBA\u8138\uFF09
|
||||
deposit_facepay_uri={mch_base_url}/deposit/facepay
|
||||
# \u652F\u4ED8\u62BC\u91D1\uFF08\u4ED8\u6B3E\u7801\uFF09
|
||||
deposit_micropay_uri={mch_base_url}/deposit/micropay
|
||||
@ -865,6 +865,8 @@ public class WeixinPayProxy {
|
||||
* 门店名称,由商户定义。(可用于展示)
|
||||
* @param deviceId
|
||||
* 终端设备编号,由商户定义。
|
||||
* @param attach
|
||||
* 附加字段。字段格式使用Json, 非必填
|
||||
* @param rawdata
|
||||
* 初始化数据。由微信人脸SDK的接口返回。
|
||||
* @return SDK调用凭证
|
||||
@ -878,9 +880,9 @@ public class WeixinPayProxy {
|
||||
* @see PayfaceAuthinfo
|
||||
*/
|
||||
public PayfaceAuthinfo getWxPayfaceAuthinfo(String storeId, String storeName, String deviceId,
|
||||
String rawdata) throws WeixinException {
|
||||
String attach, String rawdata) throws WeixinException {
|
||||
PayfaceAuthinfoRequest request = new PayfaceAuthinfoRequest(this.weixinPayAccount, storeId, storeName, deviceId,
|
||||
rawdata);
|
||||
attach, rawdata);
|
||||
return payApi.getWxPayfaceAuthinfo(request);
|
||||
}
|
||||
|
||||
|
||||
@ -52,43 +52,17 @@ public class PayfaceAuthinfoRequest {
|
||||
private WeixinPaymentSignature paymentSignature;
|
||||
|
||||
public PayfaceAuthinfoRequest(WeixinPayAccount account, String storeId, String storeName, String deviceId,
|
||||
String rawdata){
|
||||
String attach, String rawdata){
|
||||
this.payAccount = account;
|
||||
this.deviceId = deviceId;
|
||||
this.rawdata = rawdata;
|
||||
this.storeId = storeId;
|
||||
this.storeName = storeName;
|
||||
this.attach = attach;
|
||||
this.paymentSignature = new WeixinPaymentSignature(account.getPaySignKey());
|
||||
}
|
||||
|
||||
public void setAttach(String attach) {
|
||||
this.attach = attach;
|
||||
}
|
||||
|
||||
public String toRequestString(){
|
||||
/*StringBuilder content = new StringBuilder();
|
||||
content.append("<xml>");
|
||||
content.append(String.format("<appid>%s</appid>", payAccount.getId()));
|
||||
content.append(String.format("<mch_id>%s</mch_id>", payAccount.getMchId()));
|
||||
if(StringUtil.isNotBlank(payAccount.getSubId())){
|
||||
content.append(String.format("<sub_appid>%s</sub_appid>", payAccount.getSubId()));
|
||||
}
|
||||
if(StringUtil.isNotBlank(payAccount.getSubMchId())){
|
||||
content.append(String.format("<sub_mch_id>%s</sub_mch_id>", payAccount.getSubMchId()));
|
||||
}
|
||||
content.append(String.format("<now>%s</now>", now));
|
||||
content.append("<version>1</version>");
|
||||
content.append(String.format("<sign_type>%s</sign_type>", SignType.MD5.name()));
|
||||
content.append(String.format("<nonce_str>%s</nonce_str>", nonceStr));
|
||||
content.append(String.format("<sign>%s</sign>", getRequestSign()));
|
||||
content.append(String.format("<store_id>%s</store_id>", storeId));
|
||||
content.append(String.format("<store_name>%s</store_name>", storeName));
|
||||
content.append(String.format("<device_id>%s</device_id>", deviceId));
|
||||
content.append(String.format("<rawdata>%s</rawdata>", rawdata));
|
||||
if(StringUtil.isNotBlank(attach)){
|
||||
content.append(String.format("<attach><![CDATA[%s]]></attach>", attach));
|
||||
}
|
||||
content.append("</xml>");*/
|
||||
Map paramsMap = getRequestParam();
|
||||
return XmlStream.map2xml(paramsMap);
|
||||
}
|
||||
|
||||
@ -0,0 +1,26 @@
|
||||
package com.foxinmy.weixin4j.pay.test;
|
||||
|
||||
import com.foxinmy.weixin4j.exception.WeixinException;
|
||||
import com.foxinmy.weixin4j.pay.WeixinPayProxy;
|
||||
import com.foxinmy.weixin4j.pay.model.WeixinPayAccount;
|
||||
import com.foxinmy.weixin4j.pay.payment.mch.MchPayRequest;
|
||||
import org.junit.Test;
|
||||
|
||||
public class TestDepositPay {
|
||||
@Test
|
||||
public void test() throws WeixinException {
|
||||
String appid = "";
|
||||
String mchid = "";
|
||||
String paySignKey = "";
|
||||
String code = "";
|
||||
boolean isFacePay = false; //true - 人脸押金支付,false - 付款码押金支付
|
||||
|
||||
WeixinPayAccount payAccount = new WeixinPayAccount(appid, paySignKey, mchid);
|
||||
payAccount.setSubMchId(mchid);
|
||||
WeixinPayProxy proxy = new WeixinPayProxy(payAccount);
|
||||
|
||||
MchPayRequest payRequest = proxy.createDepositPayRequest(code, "测试押金支付", "TESTORDER20190921001", 0.01,
|
||||
"127.0.0.1", null, null, null, isFacePay);
|
||||
System.out.println(payRequest.toRequestString());
|
||||
}
|
||||
}
|
||||
@ -6,10 +6,10 @@ import com.foxinmy.weixin4j.exception.WeixinException;
|
||||
import com.foxinmy.weixin4j.pay.WeixinPayProxy;
|
||||
import com.foxinmy.weixin4j.pay.model.WeixinPayAccount;
|
||||
import com.foxinmy.weixin4j.pay.payment.mch.MchPayRequest;
|
||||
import com.foxinmy.weixin4j.pay.type.mch.DepositType;
|
||||
import org.junit.Test;
|
||||
|
||||
public class TestFacePay {
|
||||
|
||||
@Test
|
||||
public void test() throws WeixinException {
|
||||
String appid = "";
|
||||
@ -28,4 +28,4 @@ public class TestFacePay {
|
||||
|
||||
JSONObject obj = (JSONObject) JSON.toJSON(rsp);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
package com.foxinmy.weixin4j.pay.test;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.foxinmy.weixin4j.pay.sign.WeixinPaymentSignature;
|
||||
import com.foxinmy.weixin4j.pay.type.SignType;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
/**
|
||||
* HmacSHA256签名算法测试
|
||||
* @author kit (kit_21cn@21cn.com)
|
||||
*/
|
||||
public class TestHmacSHA256Sign {
|
||||
@Test
|
||||
public void test(){
|
||||
WeixinPaymentSignature signature = new WeixinPaymentSignature("muses");
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("appid", "1");
|
||||
json.put("mch_id", "2");
|
||||
String sign = signature.sign(json, SignType.HMAC$SHA256);
|
||||
|
||||
Assert.assertEquals("637CF27B23F731398B2BE0118F484191B3728749C25D1EEF7479B6E93033602C", sign);
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user