Changelog
Changelog
2026-10-08
Payment Link and Invoice return_url:
- Create and update accept an optional
return_url. Only anhttpsURL with a host is stored (max 2048 characters). Anything else returns90000. - Omit or send
""to leave it unset. On update, omit keeps the stored value and""clears it. A partially locked Payment Link can still change it. - Hosted Checkout uses it only on the success page. It is not written to the order or to webhooks. See Return URL.
Address book chain_type:
- An empty or whitespace-only
chain_typeon create returns90000. It does not default toevm. ethandethereumare stored asevm,solassolana, andtrxastron. Any other non-blank value returns90111.
2026-09-24
Payment Link / Invoice edit, Invoice PDF, and the payout address book:
- Get, update, and status for Payment Links, and get / update for Invoices.
Locks come from
edit_state. See Invoices & Payment Links. GET /invoices/pdfreturnsdownload_urlandfile_namefor one PDF template. Paid documents include the payin order id.- Address book groups and entries under
/payout/v1/address-book. The book stores addresses only; create payout still takes recipients directly. See Address Book. - Error codes
90102,90129–90134, and90209documented. A Payment Link or Invoice id from another merchant returns90201.
Address-collected payin refunds on OpenAPI quote:
POST /refunds/quoteacceptsrefund_to_addressforcollect_mode=hd_addressorders. It is required there and ignored on every other order.- The address must match the refund target chain (receiving chain when the
payin is same-chain, payer chain when it is cross-chain) and must not be the
collect address. Otherwise quote returns
90214. - Prepare and authorize do not take this field again; the quote soft order already has the destination.
2026-09-23
Merchant stamp binds the hosted-wallet timestamp:
- Authorize (
POST /payouts/authorizeandPOST /refunds/authorize) requireswaas_timestamp, a 13-digit Unix millisecond value. merchant_signis Ed25519 over the raw 32-byteSHA256(utf8(param_json + "|" + waas_timestamp)), standard Base64. Do not signparam_hash.- Morph forwards that timestamp as
X-Waas-Timestamp. It must match the stamp and fall within ±60 seconds. See Merchant stamp.
2026-09-22
Partial refunds on OpenAPI quote:
POST /refunds/quoteaccepts optionalrefund_amount. Omit it to refund the original order amount (not the remaining balance). After a successful partial refund, omit is rejected with90211; refund the remainder withGET /refunds/inforefundable_amount. See Refunds.- Error code
90211documented.
2026-09-20
Payment Link / Invoice payer allowlist:
support_networks/support_tokensare optional. Omit both (or send empty arrays) and create expands them to the full paying catalog. See Invoices & Payment Links.
TRX payout authorize:
- Create returns
raw_txs(unsigned txs includingraw_data) besideparam_json.paramstays{chain, data}so hosted-wallet signing can accept it. - Authorize must echo
raw_txson TRX. Missing or mismatched values return90604. See Payouts.
2026-09-18
Payout and refund write OpenAPI:
- Payout:
GET /support-tokens,POST /payouts/preview,POST /payouts(idempotency key),POST /payouts/authorize. Hosted wallet signs on-chain; the merchant stampsparam_json(Ed25519). See Merchant stamp and Payouts. - Refund:
POST /refunds/quote,POST /refunds/prepare,POST /refunds/authorize, plusGET /refunds/info(by payinplatform_order_id). Wallet-collected orders only. See Refunds. GET /walletsdocuments hosted addresses used assource_address.- Error codes
90201,90207,90210,90212,90213,90309,90604,90605,90606documented.