package com.walker.pay.payunk;
|
|
import com.walker.infrastructure.arguments.Variable;
|
import com.walker.infrastructure.arguments.VariableType;
|
import com.walker.infrastructure.arguments.support.DefaultVariable;
|
import com.walker.infrastructure.utils.DateUtils;
|
import com.walker.infrastructure.utils.MoneyUtils;
|
import com.walker.infrastructure.utils.NumberGenerator;
|
import com.walker.pay.PayEngineProvider;
|
import com.walker.pay.PayType;
|
import com.walker.pay.exception.OrderException;
|
import com.walker.pay.support.DefaultOrder;
|
import com.walker.web.RestTemplateConfig;
|
import com.walker.web.RestTemplateFactory;
|
import org.junit.Test;
|
import org.springframework.web.client.RestTemplate;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
public class TestPayUnkEngine {
|
|
// @Test
|
public void testMoney(){
|
// System.out.println(NumberFormatUtils.scaleAccuracy2(30.0/100.0));
|
// double money = 1/100.0;
|
// System.out.println(money);
|
System.out.println(MoneyUtils.scaleYuan2Accuracy(30));
|
System.out.println(MoneyUtils.scaleYuan2Accuracy(100));
|
System.out.println(MoneyUtils.scaleYuan2Accuracy(1));
|
}
|
|
// @Test
|
public void payAliAnDf(){
|
RestTemplate restTemplate = this.getRestTemplate();
|
PayEngineProvider payEngineProvider = new PayUnkEngineProvider(restTemplate);
|
payEngineProvider.setConfiguration(this.getConfiguration());
|
payEngineProvider.setOrderCallback(new PayUnkOrderCallback());
|
|
DefaultOrder order = new DefaultOrder();
|
order.setId(NumberGenerator.getLongSequenceNumber());
|
order.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
|
order.setPayType(PayType.PayUnk_BEHALF_ALIPAY_ONE);
|
order.setPayDefinitionId("3");
|
order.setTotalMoney(10);
|
order.setNotifyUrl("http://47.99.216.98:8082/admin/front/kyzt/receipt/pay/notify");
|
// order.setNotifyUrl(Constants.CALL_BACK_SUCCESS);
|
order.setIp("127.0.0.1");
|
order.setTitle("测试商品");
|
String attach = "order," + 9987654321L;
|
order.setAttach(attach);
|
// 支付宝个人账号
|
order.setBuyerId("13838277463");
|
order.setNonce("时克英");
|
|
try {
|
Trans2AlipayResponsePay responseValue = (Trans2AlipayResponsePay)payEngineProvider.generatePrepareOrder(order);
|
System.out.println("返回[支付宝转账订单]调用结果: " + responseValue);
|
if(responseValue.getStatus()){
|
System.out.println("url = " + responseValue.getUrl());
|
System.out.println("data = " + responseValue.getData());
|
}
|
} catch (OrderException e) {
|
throw new RuntimeException(e);
|
}
|
}
|
|
protected Map<String, Variable> getConfiguration(){
|
Map<String, Variable> configuration = new HashMap<>();
|
configuration.put(Constants.CONFIG_KEY_APPID, new DefaultVariable(VariableType.String, "APP202310209174137956073295", null).setId(Constants.CONFIG_KEY_APPID));
|
// 支付宝A版代付到户编号:3635
|
configuration.put(Constants.CONFIG_KEY_USER_ACCOUNT_ID, new DefaultVariable(VariableType.String, "3635", null).setId(Constants.CONFIG_KEY_USER_ACCOUNT_ID));
|
configuration.put(Constants.CONFIG_KEY_ALIPAY_IDENTITY, new DefaultVariable(VariableType.String, "identity", null).setId(Constants.CONFIG_KEY_ALIPAY_IDENTITY));
|
configuration.put(Constants.CONFIG_KEY_ALIPAY_AGREEMENT_NO, new DefaultVariable(VariableType.String, "agreement", null).setId(Constants.CONFIG_KEY_ALIPAY_AGREEMENT_NO));
|
return configuration;
|
}
|
|
protected RestTemplate getRestTemplate(){
|
RestTemplateConfig config = new RestTemplateConfig();
|
config.setKeepAliveDurationSeconds(300);
|
config.setMaxIdleConnections(20);
|
config.setConnectTimeoutSeconds(3);
|
config.setReadTimeoutSeconds(3);
|
config.setWriteTimeoutSeconds(3);
|
|
return RestTemplateFactory.createRestTemplate(RestTemplateFactory.HttpType.OkHttp, config);
|
|
// RestTemplate restTemplate = new RestTemplate();
|
// List<HttpMessageConverter<?>> messageConverters = restTemplate.getMessageConverters();
|
// Iterator<HttpMessageConverter<?>> iterator=messageConverters.iterator();
|
// while(iterator.hasNext()){
|
// HttpMessageConverter<?> converter=iterator.next();
|
// //原有的String是ISO-8859-1编码 去掉
|
// if(converter instanceof StringHttpMessageConverter){
|
// iterator.remove();
|
// }
|
// }
|
// messageConverters.add(new StringHttpMessageConverter(StandardCharsets.UTF_8));
|
// return restTemplate;
|
}
|
}
|