kepa
Checkout/getCnpWalletReadiness

Wallet Readiness & Attempts

Check wallet capability and durably record Apple Pay / Google Pay attempts.

POST/api/v1/cnp/public/checkout-sessions/{id}/wallet-readiness
Browser-safeCall from the customer’s browser with a publishable key — never your secret key.
The Drop-in and standalone wallet button Elements use these browser endpoints to check merchant wallet capability and record wallet payment attempts. Current builds persist a hash of the opaque wallet token payload and return UNSUPPORTED until live wallet authorization adapters are configured.
Path parameters
idstringRequired

Checkout session ID.

Request body

application/json

clientSecretstringRequired

Checkout session client secret.

walletTypeenumRequired

Wallet type.

APPLE_PAYGOOGLE_PAY
tokenobject

Opaque wallet token payload for wallet-payment-attempts. Stored as a hash plus safe metadata.

metadataobject

Safe browser/SDK metadata.

Response

application/json

walletTypeenum

APPLE_PAY or GOOGLE_PAY.

APPLE_PAYGOOGLE_PAY
readyboolean

Whether the wallet is enabled for this merchant.

statusenum

Wallet attempt status when recording an attempt.

RECEIVEDUNSUPPORTEDFAILEDAUTHORIZED
failureReasonstring

Reason wallet payment could not proceed.

configobject

Merchant wallet configuration returned by readiness.

cnpGatewayRouteIdstring

Selected CNP credential route for wallet confirmation.

cnpGatewayRouteSupportsKepaTokenStorageboolean

Whether the selected route can produce portable Kepa-owned reusable credentials.

Good to know
  • Apple Pay merchant validation endpoint: /api/v1/cnp/public/checkout-sessions/{id}/apple-pay/merchant-session.
  • Wallet attempt endpoint: /api/v1/cnp/public/checkout-sessions/{id}/wallet-payment-attempts.
  • Wallet confirm endpoint: /api/v1/cnp/public/checkout-sessions/{id}/wallet-confirm.
  • If the payment intent has setupFutureUsage and the wallet authorizer returns a Kepa-owned reusable credential, wallet-confirm returns a merchant-owned paymentMethodId.
  • Wallet confirm now resolves a CNP gateway route before authorization. If no route supports the wallet flow, or a saved-wallet flow selects a provider-bound route, confirmation fails closed and the attempt is marked UNSUPPORTED.
  • Operator route-control endpoints: /v1/cnp/gateway-routes, /v1/cnp/gateway-routes/preview, and /v1/cnp/gateway-routes/{id}/disable.
  • CNP gateway routes are separate from acquirer routes: they select credential-processing paths before durable acquirer authorization dispatch.
  • Apple domain association file: /.well-known/apple-developer-merchantid-domain-association.
  • Live Apple Pay still requires merchant validation credentials and domain association.
  • Live Google Pay still requires gateway configuration and acquirer support for wallet tokens.

getCnpWalletReadiness

POSTGo API
https://api.kepapay.co/api/v1/cnp/public/checkout-sessions/{id}/wallet-readiness
Request
curl https://api.kepapay.co/api/v1/cnp/public/checkout-sessions/{id}/wallet-readiness \
  -H "X-Kepa-Publishable-Key: $KEPA_PUBLISHABLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "clientSecret": "cs_7c1b9b86_secret_example",
  "walletType": "APPLE_PAY"
}'
Response
{
  "walletType": "APPLE_PAY",
  "ready": false,
  "reason": "wallet is not enabled for this merchant",
  "config": {}
}