wechat:
#公眾號appid
mpAppId:
#商戶號
mchId:
#商戶api v2 秘鑰
mchKey:
#證書地址
keyPath: wxpay.p12
#回調(diào)地址
notifyUrl:
#小程序appid
miniAppId: x
#小程序秘鑰
miniAppSecret: x
#app appid
appAppId: x
alipay:
appId:
privateKey:
aliPayPublicKey:
notifyUrl:
returnUrl:
sandbox: false #是否使用沙箱
@Data
@Accessors(chain = true)
public class PayParam {
@ApiModelProperty("支付類型 WXPAY_NATIVE 微信Native支付 ALIPAY_PC 支付寶pc")
@NotBlank
private BestPayTypeEnum payType;
@ApiModelProperty("支付金額")
@NotNull
private BigDecimal amount;
}
PayRequest prq = new PayRequest();
//支付類型
prq.setPayTypeEnum(param.getPayType());
//金額
prq.setOrderAmount(param.getAmount().doubleValue());
prq.setOrderName("訂單名稱");
prq.setAttach("備注");
prq.setOrderId(this.generateOrderId());
//申請支付訂單
PayResponse prs = this.bestPayService.pay(prq);
注意:一定要自己使用demo做支付寶pc掃碼支付測試
<html>
<head></head>
<body>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
$(function () {
$.ajax({
method: "post",
headers: {
"token": "xxxxxx"
},
url: "http://localhost:8700/xxxxxx",
data: JSON.stringify({
"amount": 0.01,
"payType": "ALIPAY_PC"
}),
contentType: "application/json",
dataType: "json",
success: function (res) {
let formBody = res.data.body; //支付寶支付成功后返回的表單
const div = document.createElement('div');
div.innerHTML = formBody;
document.body.appendChild(div);
document.forms[0].submit();
}
});
});
</script>
</body>
</html>