alipay / alipay/global-open-sdk-java
paymentUrl null in AlipayApsPayResponse
- Lenguaje dominante
- Java
- Estrellas
- 48
- Forks
- 25
- Merge medio
- 17 h 57 min
- PR fusionados (30 d)
- 10
Descripción
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;
}
`
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Evaluación
Este issue todavía no se ha evaluado.