package com.walker.pay.allinpay;
|
|
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.NumberGenerator;
|
import com.walker.infrastructure.utils.StringUtils;
|
import com.walker.pay.PayType;
|
import com.walker.pay.exception.OrderException;
|
import com.walker.pay.support.DefaultOrder;
|
import org.junit.Test;
|
import org.springframework.http.converter.HttpMessageConverter;
|
import org.springframework.http.converter.StringHttpMessageConverter;
|
import org.springframework.web.client.RestTemplate;
|
|
import java.nio.charset.StandardCharsets;
|
import java.util.HashMap;
|
import java.util.Iterator;
|
import java.util.List;
|
import java.util.Map;
|
|
public class TestH5OrderGenerator {
|
|
// @Test
|
public void testOrder(){
|
H5OrderGenerator h5OrderGenerator = new H5OrderGenerator(this.getRestTemplate());
|
|
DefaultOrder order = new DefaultOrder();
|
order.setId(NumberGenerator.getLongSequenceNumber());
|
order.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
|
order.setPayType(PayType.H5);
|
order.setPayDefinitionId("2");
|
order.setTotalMoney(1);
|
order.setNotifyUrl("http://47.99.216.98:7003/pay/tl/notify.do");
|
order.setIp("127.0.0.1");
|
order.setNonce(StringUtils.generateRandomNumber(6));
|
order.setTitle("H5支付商品");
|
order.setAttach("test");
|
|
try {
|
H5ResponsePay responsePay = (H5ResponsePay)h5OrderGenerator.generate("", order, this.getConfiguration());
|
System.out.println("返回结果: ");
|
} catch (OrderException e) {
|
throw new RuntimeException(e);
|
}
|
}
|
|
/**
|
* String类型转换器,默认是 iso-8859-1
|
* @return
|
*/
|
protected RestTemplate getRestTemplate(){
|
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;
|
}
|
|
protected Map<String, Variable> getConfiguration(){
|
Map<String, Variable> configuration = new HashMap<>();
|
configuration.put(Constants.CONFIG_KEY_APP_ID, new DefaultVariable(VariableType.String, "00000051", null));
|
configuration.put(Constants.CONFIG_KEY_MCH_ID, new DefaultVariable(VariableType.String, "990581007426001", null));
|
configuration.put(Constants.CONFIG_KEY_MD5_KEY, new DefaultVariable(VariableType.String, "a0ea3fa20dbd7bb4d5abf1d59d63bae8", null));
|
configuration.put(Constants.CONFIG_KEY_RSA_PRI_KEY, new DefaultVariable(VariableType.String, "MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAJgHMGYsspghvP+yCbjLG43CkZuQ3YJyDcmEKxvmgblITfmiTPx2b9Y2iwDT9gnLGExTDm1BL2A8VzMobjaHfiCmTbDctu680MLmpDDkVXmJOqdlXh0tcLjhN4+iDA2KkRqiHxsDpiaKT6MMBuecXQbJtPlVc1XjVhoUlzUgPCrvAgMBAAECgYAV9saYTGbfsdLOF5kYo0dve1JxaO7dFMCcgkV+z2ujKtNmeHtU54DlhZXJiytQY5Dhc10cjb6xfFDrftuFcfKCaLiy6h5ETR8jyv5He6KH/+X6qkcGTkJBYG1XvyyFO3PxoszQAs0mrLCqq0UItlCDn0G72MR9/NuvdYabGHSzEQJBAMXB1/DUvBTHHH4LiKDiaREruBb3QtP72JQS1ATVXA2v6xJzGPMWMBGQDvRfPvuCPVmbHENX+lRxMLp39OvIn6kCQQDEzYpPcuHW/7h3TYHYc+T0O6z1VKQT2Mxv92Lj35g1XqV4Oi9xrTj2DtMeV1lMx6n/3icobkCQtuvTI+AcqfTXAkB6bCz9NwUUK8sUsJktV9xJN/JnrTxetOr3h8xfDaJGCuCQdFY+rj6lsLPBTnFUC+Vk4mQVwJIE0mmjFf22NWW5AkAmsVaRGkAmui41Xoq52MdZ8WWm8lY0BLrlBJlvveU6EPqtcZskWW9KiU2euIO5IcRdpvrB6zNMgHpLD9GfMRcPAkBUWOV/dH13v8V2Y/Fzuag/y5k3/oXi/WQnIxdYbltad2xjmofJ7DbB7MJqiZZD8jlr8PCZPwRNzc5ntDStc959", null));
|
configuration.put(Constants.CONFIG_KEY_RSA_PUB_KEY, new DefaultVariable(VariableType.String, "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCm9OV6zH5DYH/ZnAVYHscEELdCNfNTHGuBv1nYYEY9FrOzE0/4kLl9f7Y9dkWHlc2ocDwbrFSm0Vqz0q2rJPxXUYBCQl5yW3jzuKSXif7q1yOwkFVtJXvuhf5WRy+1X5FOFoMvS7538No0RpnLzmNi3ktmiqmhpcY/1pmt20FHQQIDAQAB", null));
|
configuration.put(Constants.CONFIG_KEY_SM2_PRI_KEY, new DefaultVariable(VariableType.String, "MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgjj4Rk+b0YjwO+UwXofnHf4bK+kaaY5Btkd8nMP2VimmgCgYIKoEcz1UBgi2hRANCAAQqlALW4qGC3bP1x3wo5QsKxaCMEZJ2ODTTwOQ+d8UGU7GoK/y/WMBQWf5upMnFU06p5FxGooXYYoBtldgm03hq", null));
|
configuration.put(Constants.CONFIG_KEY_SM2_PUB_KEY, new DefaultVariable(VariableType.String, "MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEBQicgWm0KAMqhO3bdqMUEDrKQvYg8cCXHhdGwq7CGE6oJDzJ1P/94HpuVdBf1KidmPxr7HOH+0DAnpeCcx9TcQ==", null));
|
return configuration;
|
}
|
}
|