requestId to identify a create request. Reuse the same requestId when the outcome is unknown.requestId returns ODR00000040; it does not return the original Payment Link. QueryPOST /v1/stable/collect/payment-links with the same requestId to recover the result.userOrderNo is deprecated. If requestId is blank, userOrderNo will be used as the requestId.requestId takes precedence.amountTolerance on a One-Timemode | Extra field | Accepted range |
|---|---|---|
NONE | — | exactly the expected amount |
PERCENTAGE | percentage | expected amount ± (expected amount × percentage) |
FIXED | fixedAmount | expected amount ± fixedAmount |
mode is uppercase and case-sensitive, unlike paymentLinkType. Set at most one of percentage andfixedAmount; the value must be positive. Both are capped by a platform limit, and fixed-amount"amountTolerance": { "mode": "NONE" }.addressList is returned only to merchants for whom address pre-allocation is enabled. For thosesupportCurrency is activated at creationaddressList.memo, the payer must include it or the deposit cannot be matched.status 500 and an ODR-prefixed code (OrderErrorCode). These are notcode | Meaning |
|---|---|
ODR00000040 | Duplicate requestId — a Payment Link already exists for it |
ODR00000041 | A parameter was rejected |
ODR00000042 | amountTolerance.percentage and amountTolerance.fixedAmount were both supplied |
ODR00000043 | The tolerance exceeds the platform limit, or fixed-amount tolerance is not enabled for that currency |
ODR00000044 | amountTolerance was supplied on a link that is not One-Time |
ODR00000045 | Address pre-allocation is enabled for the merchant but no deposit address was available on any eligible chain |
ODR00000041 covers every parameter check on this endpoint. It is returned when:| Condition |
|---|
paymentLinkType is ONETIME and paymentValidTime is missing or not positive |
crypto collection without targetAccountId |
targetAccountId does not resolve to an active wallet |
supportCurrency is ALL on a One-Time link |
fiat collection with fiatAmount missing or not positive |
One-Time crypto link with cryptoAmount missing or not positive |
| the amount is below the minimum receive amount for that currency |
supportCurrency or supportNetwork is blank |
supportCurrency is ALL combined with a specific supportNetwork |
supportCurrency is not a platform-supported currency |
supportNetwork is not among the networks allowed for that currency |
payerInfo is omitted |
payerInfo.userType is absent while payerNameUnavailable is false |
an individual payer is missing firstName or lastName |
a corporate payer is missing companyName |
payerInfo.userType is neither individual nor corporate |
paymentLinkType is not recognised |
| the business type is not recognised |
amountTolerance.mode is PERCENTAGE and percentage is missing or not positive |
amountTolerance.mode is FIXED and fixedAmount is missing or not positive |