alipay / alipay/global-open-sdk-java
paymentUrl null in AlipayApsPayResponse
- 主要語言
- Java
- 星號
- 48
- 分支
- 25
- 平均合併
- 17 小時 57 分鐘
- 30 天內合併 PR
- 10
描述
In my tests with v 2.0.5, the response for the pay (Cashier Payment) request (class **AlipayApsPayResponse**) always contains a null value for the **paymentUrl** property, although I can see a **normalUrl** attribute in the JSON returned by the API:
"normalUrl": "https://open-sea.alipayplus.com/api...".
I think the problem is that the class **AlipayApsPayResponse** does not contain properties for the possible JSON attributes (schemeUrl/applinkUrl/normalUrl, as stated in the docs). The JSON does not contain an attribute matching **paymentUrl**, and there is no special handling for the **paymentUrl** property, that should be filled with the contents of schemeUrl/applinkUrl/normalUrl, according to the specified precedence. I was able to fix the problem by subclassing **AlipayApsPayResponse** and adding the following code:
`
private String schemeUrl;
private String applinkUrl;
private String normalUrl;
// getters and setters omitted
/**
* https://docs.alipayplus.com/alipayplus/alipayplus/api_acq/pay_cashier?pageVersion=28&_route=SG
* For priorities of which URL to use to redirect to the wallet side, schemeUrl > applinkUrl > normalUrl.
*
* @return
*/
@Override
public String getPaymentUrl() {
return schemeUrl != null ? schemeUrl :
applinkUrl != null ? applinkUrl :
normalUrl;
}
`
貢獻指南
這個儲存庫沒有索引到貢獻指南
評估
這個 Issue 還沒有評估資料。