新增退款描述字段
This commit is contained in:
parent
bee75e55cf
commit
e7fe08c8cc
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -26,6 +26,7 @@ import com.foxinmy.weixin4j.type.IdQuery;
|
|||||||
import com.foxinmy.weixin4j.type.IdType;
|
import com.foxinmy.weixin4j.type.IdType;
|
||||||
import com.foxinmy.weixin4j.type.TradeType;
|
import com.foxinmy.weixin4j.type.TradeType;
|
||||||
import com.foxinmy.weixin4j.type.mch.BillType;
|
import com.foxinmy.weixin4j.type.mch.BillType;
|
||||||
|
import com.foxinmy.weixin4j.type.mch.RefundAccountType;
|
||||||
import com.foxinmy.weixin4j.util.Consts;
|
import com.foxinmy.weixin4j.util.Consts;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -38,136 +39,120 @@ import com.foxinmy.weixin4j.util.Consts;
|
|||||||
* @see
|
* @see
|
||||||
*/
|
*/
|
||||||
public class PayTest {
|
public class PayTest {
|
||||||
protected final static WeixinPayAccount ACCOUNT;
|
protected final static WeixinPayAccount ACCOUNT;
|
||||||
protected final static WeixinSignature SIGNATURE;
|
protected final static WeixinSignature SIGNATURE;
|
||||||
protected final static WeixinPayProxy PAY;
|
protected final static WeixinPayProxy PAY;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
ACCOUNT = new WeixinPayAccount(
|
ACCOUNT = new WeixinPayAccount("wx7ca5ae77b3b4bc81", "GATFzDwbQdbbci3QEQxX2rUBvwTrsMiZ", "1290664601",
|
||||||
"appid",
|
"1290664601", "/Users/jy/workspaces/jdxg-parent/ixi-service/src/main/resources/1290664601.p12");
|
||||||
"paysignKey",
|
SIGNATURE = new WeixinPaymentSignature(ACCOUNT.getPaySignKey());
|
||||||
"mchId",
|
PAY = new WeixinPayProxy(ACCOUNT);
|
||||||
"证书密码,为空取mchid",
|
}
|
||||||
"证书路径,绝对路径&classpath路径:/path/to/certificate.p12,或者填写classpath:path/to/certificate.p12");
|
|
||||||
SIGNATURE = new WeixinPaymentSignature(ACCOUNT.getPaySignKey());
|
|
||||||
PAY = new WeixinPayProxy(ACCOUNT);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void queryOrder() throws WeixinException {
|
public void queryOrder() throws WeixinException {
|
||||||
Order order = PAY.queryOrder(new IdQuery("BY2016010800025",
|
Order order = PAY.queryOrder(new IdQuery("BY2016010800025", IdType.TRADENO));
|
||||||
IdType.TRADENO));
|
Assert.assertEquals(Consts.SUCCESS, order.getReturnCode());
|
||||||
Assert.assertEquals(Consts.SUCCESS, order.getReturnCode());
|
Assert.assertEquals(Consts.SUCCESS, order.getResultCode());
|
||||||
Assert.assertEquals(Consts.SUCCESS, order.getResultCode());
|
System.err.println(order);
|
||||||
System.err.println(order);
|
String sign = order.getSign();
|
||||||
String sign = order.getSign();
|
order.setSign(null);
|
||||||
order.setSign(null);
|
String valiSign = SIGNATURE.sign(order);
|
||||||
String valiSign = SIGNATURE.sign(order);
|
System.err.println(String.format("sign=%s,valiSign=%s", sign, valiSign));
|
||||||
System.err
|
Assert.assertEquals(valiSign, sign);
|
||||||
.println(String.format("sign=%s,valiSign=%s", sign, valiSign));
|
}
|
||||||
Assert.assertEquals(valiSign, sign);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void queryRefund() throws WeixinException {
|
public void queryRefund() throws WeixinException {
|
||||||
RefundRecord record = PAY.queryRefund(new IdQuery("TT_1427183696238",
|
RefundRecord record = PAY.queryRefund(new IdQuery("TT_1427183696238", IdType.TRADENO));
|
||||||
IdType.TRADENO));
|
Assert.assertEquals(Consts.SUCCESS, record.getReturnCode());
|
||||||
Assert.assertEquals(Consts.SUCCESS, record.getReturnCode());
|
Assert.assertEquals(Consts.SUCCESS, record.getResultCode());
|
||||||
Assert.assertEquals(Consts.SUCCESS, record.getResultCode());
|
System.err.println(record);
|
||||||
System.err.println(record);
|
String sign = record.getSign();
|
||||||
String sign = record.getSign();
|
record.setSign(null);
|
||||||
record.setSign(null);
|
String valiSign = SIGNATURE.sign(record);
|
||||||
String valiSign = SIGNATURE.sign(record);
|
System.err.println(String.format("sign=%s,valiSign=%s", sign, valiSign));
|
||||||
System.err
|
Assert.assertEquals(valiSign, sign);
|
||||||
.println(String.format("sign=%s,valiSign=%s", sign, valiSign));
|
}
|
||||||
Assert.assertEquals(valiSign, sign);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void downbill() throws WeixinException, IOException {
|
public void downbill() throws WeixinException, IOException {
|
||||||
Calendar c = Calendar.getInstance();
|
Calendar c = Calendar.getInstance();
|
||||||
c.set(Calendar.YEAR, 2016);
|
c.set(Calendar.MONTH, 0); // 4月份 正常
|
||||||
c.set(Calendar.MONTH, 3);
|
// c.set(Calendar.MONTH, 0); // 3月份 异常
|
||||||
c.set(Calendar.DAY_OF_MONTH, 4);
|
OutputStream os = new FileOutputStream("/tmp/bill.txt");
|
||||||
System.err.println(c.getTime());
|
PAY.downloadBill(c.getTime(), BillType.ALL, os, null);
|
||||||
OutputStream os = new FileOutputStream("/tmp/bill20160813.txt");
|
}
|
||||||
PAY.downloadBill(c.getTime(), BillType.ALL, os, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void refund() throws WeixinException, IOException {
|
public void refund() throws WeixinException, IOException {
|
||||||
IdQuery idQuery = new IdQuery("TT_1427183696238", IdType.TRADENO);
|
IdQuery idQuery = new IdQuery("TT_1427183696238", IdType.TRADENO);
|
||||||
RefundResult result = PAY.applyRefund(idQuery,
|
RefundResult result = PAY.applyRefund(idQuery, "TT_R" + System.currentTimeMillis(), 0.01d, 0.01d, null,
|
||||||
"TT_R" + System.currentTimeMillis(), 0.01d, 0.01d, null,
|
"10020674", "退款描述(原因)", RefundAccountType.REFUND_SOURCE_RECHARGE_FUNDS);
|
||||||
"10020674", null);
|
Assert.assertEquals(Consts.SUCCESS, result.getReturnCode());
|
||||||
Assert.assertEquals(Consts.SUCCESS, result.getReturnCode());
|
Assert.assertEquals(Consts.SUCCESS, result.getResultCode());
|
||||||
Assert.assertEquals(Consts.SUCCESS, result.getResultCode());
|
System.err.println(result);
|
||||||
System.err.println(result);
|
String sign = result.getSign();
|
||||||
String sign = result.getSign();
|
result.setSign(null);
|
||||||
result.setSign(null);
|
String valiSign = SIGNATURE.sign(result);
|
||||||
String valiSign = SIGNATURE.sign(result);
|
System.err.println(String.format("sign=%s,valiSign=%s", sign, valiSign));
|
||||||
System.err
|
Assert.assertEquals(valiSign, sign);
|
||||||
.println(String.format("sign=%s,valiSign=%s", sign, valiSign));
|
}
|
||||||
Assert.assertEquals(valiSign, sign);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void nativePay() throws WeixinException {
|
public void nativePay() throws WeixinException {
|
||||||
MchPayPackage payPackageV3 = new MchPayPackage("native测试", "T0001",
|
MchPayPackage payPackageV3 = new MchPayPackage("native测试", "T0001", 0.1d, "notify_url", "127.0.0.1",
|
||||||
0.1d, "notify_url", "127.0.0.1", TradeType.NATIVE, null, null,
|
TradeType.NATIVE, null, null, "productId", null);
|
||||||
"productId", null);
|
PrePay result = PAY.createPrePay(payPackageV3);
|
||||||
PrePay result = PAY.createPrePay(payPackageV3);
|
Assert.assertEquals(Consts.SUCCESS, result.getReturnCode());
|
||||||
Assert.assertEquals(Consts.SUCCESS, result.getReturnCode());
|
Assert.assertEquals(Consts.SUCCESS, result.getResultCode());
|
||||||
Assert.assertEquals(Consts.SUCCESS, result.getResultCode());
|
System.err.println(result);
|
||||||
System.err.println(result);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void closeOrder() throws WeixinException {
|
public void closeOrder() throws WeixinException {
|
||||||
MerchantResult result = PAY.closeOrder("D111");
|
MerchantResult result = PAY.closeOrder("D111");
|
||||||
Assert.assertEquals(Consts.SUCCESS, result.getReturnCode());
|
Assert.assertEquals(Consts.SUCCESS, result.getReturnCode());
|
||||||
Assert.assertEquals(Consts.SUCCESS, result.getResultCode());
|
Assert.assertEquals(Consts.SUCCESS, result.getResultCode());
|
||||||
System.err.println(result);
|
System.err.println(result);
|
||||||
String sign = result.getSign();
|
String sign = result.getSign();
|
||||||
result.setSign(null);
|
result.setSign(null);
|
||||||
String valiSign = SIGNATURE.sign(result);
|
String valiSign = SIGNATURE.sign(result);
|
||||||
System.err
|
System.err.println(String.format("sign=%s,valiSign=%s", sign, valiSign));
|
||||||
.println(String.format("sign=%s,valiSign=%s", sign, valiSign));
|
Assert.assertEquals(valiSign, sign);
|
||||||
Assert.assertEquals(valiSign, sign);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shortUrl() throws WeixinException {
|
public void shortUrl() throws WeixinException {
|
||||||
String url = "weixin://wxpay/bizpayurl?xxxxxx";
|
String url = "weixin://wxpay/bizpayurl?xxxxxx";
|
||||||
String shortUrl = PAY.getPayShorturl(url);
|
String shortUrl = PAY.getPayShorturl(url);
|
||||||
System.err.println(shortUrl);
|
System.err.println(shortUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void interfaceReport() throws WeixinException {
|
public void interfaceReport() throws WeixinException {
|
||||||
String interfaceUrl = "https://api.mch.weixin.qq.com/pay/unifiedorder";
|
String interfaceUrl = "https://api.mch.weixin.qq.com/pay/unifiedorder";
|
||||||
int executeTime = 2500;
|
int executeTime = 2500;
|
||||||
String outTradeNo = null;
|
String outTradeNo = null;
|
||||||
String ip = "127.0.0.1";
|
String ip = "127.0.0.1";
|
||||||
Date time = new Date();
|
Date time = new Date();
|
||||||
XmlResult returnXml = new XmlResult("SUCCESS", "");
|
XmlResult returnXml = new XmlResult("SUCCESS", "");
|
||||||
returnXml.setResultCode("SUCCESS");
|
returnXml.setResultCode("SUCCESS");
|
||||||
returnXml = PAY.reportInterface(interfaceUrl, executeTime, outTradeNo,
|
returnXml = PAY.reportInterface(interfaceUrl, executeTime, outTradeNo, ip, time, returnXml);
|
||||||
ip, time, returnXml);
|
Assert.assertEquals(Consts.SUCCESS, returnXml.getReturnCode());
|
||||||
Assert.assertEquals(Consts.SUCCESS, returnXml.getReturnCode());
|
Assert.assertEquals(Consts.SUCCESS, returnXml.getResultCode());
|
||||||
Assert.assertEquals(Consts.SUCCESS, returnXml.getResultCode());
|
System.err.println(returnXml);
|
||||||
System.err.println(returnXml);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testMicroPay() throws WeixinException {
|
public void testMicroPay() throws WeixinException {
|
||||||
String authCode = "扫描码";
|
String authCode = "扫描码";
|
||||||
String body = "商品描述";
|
String body = "商品描述";
|
||||||
String outTradeNo = "M001";
|
String outTradeNo = "M001";
|
||||||
double totalFee = 1d;
|
double totalFee = 1d;
|
||||||
String createIp = "127.0.0.1";
|
String createIp = "127.0.0.1";
|
||||||
MchPayRequest request = PAY.createMicroPayRequest(authCode, body,
|
MchPayRequest request = PAY.createMicroPayRequest(authCode, body, outTradeNo, totalFee, createIp, null);
|
||||||
outTradeNo, totalFee, createIp, null);
|
System.err.println(request);
|
||||||
System.err.println(request);
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
Loading…
x
Reference in New Issue
Block a user