Skip to main content

Troubleshooting

SymptomWhat to check
Cannot issue an API key (409 store/api_key_limit_reached)The store has reached 10 active keys. Revoke unused keys
Cannot create a paymentThe endpoint, x-stbl-api-key (check that it is not revoked), amountJpy as a string, and the error code (see Errors). 409 store/disabled means the store is disabled. If 500 common/internal keeps occurring, check that you did not use an orderId already used at another store of the same merchant (retrying does not resolve it)
The same payment is returned on retryThis is idempotent behavior for the same orderId. It does not update the payment or create a new one. If the returned status is terminal, do not send the buyer to checkoutUrl (Idempotency)
Payment creation returns 409 merchant/domain_requiredCheck that you registered a domain in the merchant console (Domain registration)
Payment creation returns 403 merchant/suspendedThe merchant is suspended. You cannot create payments until it is resumed. API keys are not revoked
409 payment/order_terminated for the same orderIdThe suspension aborted this payment, or it was created before the suspension and has not been sent yet. Create it again with a new orderId (Suspension)
The return destination is rejectedCheck for HTTPS, no userinfo, and that the host name of returnUrl matches the registered domain
The specified deadline is rejectedCheck that merchantExpiresAt is more than 3 days after the creation time. A value that expires within 3 days of creation is rejected with 400 payment/expires_at_too_soon. Also check that it ends in UTC Z. A value with an offset such as +09:00 is rejected with 400 common/invalid_request
Cannot proceed to the checkout pageCheck that you use the API's checkoutUrl as is
Cannot retrieve the statusCheck that the payment ID and environment match those from creation, and that you do not treat a communication error as failed
The amount is missing from the lookup resultThis is normal. Refer to the order data, the create response, and the verified Webhook
The Webhook signature does not matchCheck the raw body, the secret for the target environment, the time, and that you keep multiple v1 values
The Webhook does not arriveCheck the endpoint setting, persistence errors, your responses, and the resend cutoff. Reconcile with the API
The same notification arrives repeatedlyCheck that your response is a success and that you process idempotently by the body's id
nonce_conflict occurredStop automatic re-billing and shipping, and ask the contact to investigate with the payment ID (and the txHash from the status lookup, if there is one). You can find the payment ID in paymentIntentId of the create or status lookup response, or under Payment ID (決済 ID) on the Transaction details (取引の詳細) screen of the merchant console
Cannot run a refund from the APIRefunds are currently available only in the merchant console. See Refund procedure

Contact​

If a reseller supported your onboarding, contact the reseller. Otherwise, contact Ango-ya, the developer of STBLpay, through its inquiry form. Include the following with your inquiry:

  • The target environment (the API endpoint URL) and version
  • The time it occurred
  • The payment ID and event ID
  • The HTTP status and code

Do not attach API keys, Webhook signing secrets, or the private key or seed phrase of the receiving wallet.

See also Edge cases, Signature verification, and Sandbox.