SDK capability matrix
SDK contract
Section titled “SDK contract”The production major channel is published at
https://js.maxanapay.com/v1/maxanapay.js. The contract below describes the
browser asset available today; use hosted or embedded checkout when a session
needs an excluded rail or capability.
The v1 channel currently serves this exact
release:
1.1.0 — SHA-256
13516a48762a0938120d70c1aac68884e2ed90112997609310c4af0e600dd3ca
The rail behavior below is the behavior of those published bytes.
The browser SDK supports these environments:
live—https://api.maxanapay.comsandbox—https://staging.api.maxanapay.com
Pass a checkout session created by your server and mount into the configured container. Never pass a merchant or channel key to the browser.
The source contract currently exports 9 options and 10 error codes. Use the maxanapay.js integration guide for the page flow, errors and rate limits for recovery policy, and SDK versioning before pinning or changing delivery behavior.
Supported rails
Section titled “Supported rails”paypal-wallet
Session provider: ppcp. Provider components: buttons. Vault-setup sessions: not supported.
Funding sources accepted from the session contract: paypalvenmocardpaylater.
Unsupported in v1
Section titled “Unsupported in v1”The checked version-1 contract mounts only the PayPal Buttons component. The source-backed funding list above can include PayPal, Venmo, card, and Pay Later buttons when the session advertises them and PayPal finds them eligible.
Exclusions are scoped to the rail that declares them. A capability excluded by one rail is not a claim that every current or future rail excludes it.
paypal-wallet exclusions
gravy-rail— Gr4vy railnmi-rail— NMI railsave-payment-method-sessions— Save-payment-method sessions (vault setup)card-fields— Card fieldsthree-d-secure— 3-D Secure orchestrationapple-pay— Apple Paygoogle-pay— Google Paypay-later-messaging— Pay Later messagingapp-switch— App Switchshipping-address-collection— SDK-controlled shipping-address collectionshipping-address-callbacks— Shipping-address callbacksbilling-address-capture— SDK-controlled billing address capture
The paylater funding source can produce a Pay Later button when the
session advertises it and PayPal finds the buyer eligible. The excluded
pay-later-messaging capability is Pay Later messaging, not the
button. Sessions routed outside the registered provider list, and vault-setup
sessions rejected by a rail, report provider_unsupported.
For paypal-wallet, changing the session’s requires_shipping
value between false and true does not change the PayPal
script URL, the mounted Buttons configuration, or the browser SDK’s
outbound POST /api/payments/orders body. The browser SDK does not
forward requires_shipping or shipping_address. This
exclusion is limited to those browser-side observations; it does not claim that
the backend ignores the session field it already stores.
Buyer-visible buttons vary with each merchant’s eligibility and the session’s funding sources. Do not assume a fixed button count. For an excluded capability or provider rail, use hosted or embedded checkout with the same checkout session.