alipay / alipay/global-open-sdk-java

paymentUrl null in AlipayApsPayResponse

Aperta
#9 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
48
Fork
25
Merge medio
17h 57m
PR unite (30g)
10

Descrizione

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;
}
`

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.