alipay / alipay/global-open-sdk-java

paymentUrl null in AlipayApsPayResponse

未關閉
#9 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
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 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。