Create and confirm a PaymentIntent with konbini in payment_method_types; Stripe returns next_action.konbini_display_details with the customer's payment instructions
The customer can optionally provide a phone number during checkout to use as their confirmation number at the register; if they don't, Stripe generates a random confirmation number for them
Set payment_method_options.konbini.expires_after_days to control the voucher's validity window; if confirmed on day X, the pending payment expires at 23:59:59 Japan time (UTC+9) on day X + expires_after_days
Direct the customer to next_action.konbini_display_details.hosted_voucher_url so they can view or print the payment slip to take to a convenience store
Reconcile via payment_intent.succeeded/payment_intent.canceled webhooks rather than the initial confirmation response, since Konbini is a delayed, cash-based payment method
Known gotchas
next_action.konbini_display_details.expires_at governs when a customer can no longer initiate payment at the kiosk — Stripe notes a customer who already obtained a valid slip before that time may still be able to pay at the register afterward, so don't treat it as a hard reconciliation cutoff
Konbini is JPY-only and cash-based at a physical store, so — like OXXO — a created PaymentIntent is never a payment guarantee; the same delayed-notification handling applies
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?