Create a Charge
payment://new?Process a one-time payment with amount, currency, and description.Parameters
amountintegerRequiredAmount in cents (e.g., 1000 = $10.00)currencystringThree-letter ISO currency code (default: the app's current currency)descriptionstringURL-encoded charge descriptioncustomerstringAlias: customer_idExisting Stripe customer IDemailstringCustomer email for receiptnamestringURL-encoded customer namemetadatastringCustom key-value pairs (URL-encoded JSON)callbackstringURL to return to after completionautoprocessbooleanAlias: autoSkip home screen and start charge immediatelyauto_returnbooleanFire callback when result loads instead of waiting for the merchant to dismiss the result dialog. Default false.
| Name | Type | Required | Description |
|---|
amount | integer | Yes | Amount in cents (e.g., 1000 = $10.00) |
currency | string | No | Three-letter ISO currency code (default: the app's current currency) |
description | string | No | URL-encoded charge description |
customerAlias: customer_id | string | No | Existing Stripe customer ID |
email | string | No | Customer email for receipt |
name | string | No | URL-encoded customer name |
metadata | string | No | Custom key-value pairs (URL-encoded JSON) |
callback | string | No | URL to return to after completion |
autoprocessAlias: auto | boolean | No | Skip home screen and start charge immediately |
auto_return | boolean | No | Fire callback when result loads instead of waiting for the merchant to dismiss the result dialog. Default false. |
Sell Items from Your Catalog
payment://cart?Fill the cart with prices from your Stripe catalog for an in-person charge. The sale is saved as a paid Stripe invoice. Nothing is sent to the customer.Parameters
pricesstringRequiredAlias: line_itemsComma-separated price IDs with quantities (e.g., price_abc:2,price_xyz:1)couponstringStripe coupon ID to apply to the cartcustomerstringAlias: customer_idExisting Stripe customer IDemailstringCustomer email for receiptnamestringURL-encoded customer namemetadatastringCustom key-value pairs (URL-encoded JSON)callbackstringURL to return to after completionautoprocessbooleanAlias: autoSkip home screen and start charge immediatelyauto_returnbooleanFire callback when result loads instead of waiting for the merchant to dismiss the result dialog. Default false.
| Name | Type | Required | Description |
|---|
pricesAlias: line_items | string | Yes | Comma-separated price IDs with quantities (e.g., price_abc:2,price_xyz:1) |
coupon | string | No | Stripe coupon ID to apply to the cart |
customerAlias: customer_id | string | No | Existing Stripe customer ID |
email | string | No | Customer email for receipt |
name | string | No | URL-encoded customer name |
metadata | string | No | Custom key-value pairs (URL-encoded JSON) |
callback | string | No | URL to return to after completion |
autoprocessAlias: auto | boolean | No | Skip home screen and start charge immediately |
auto_return | boolean | No | Fire callback when result loads instead of waiting for the merchant to dismiss the result dialog. Default false. |
Pay an Existing Invoice
payment://invoice?Collect an in-person payment against an existing Stripe invoice. Amount, currency, customer, and tax come from the invoice. Overriding any of those is rejected. The merchant taps a card via reader / Tap to Pay / manual entry; on success the invoice is marked paid out-of-band and linked via charge_id and payment_intent_id metadata. Invoices with subscriptions, default_payment_method, or a paid, void, or uncollectible status are rejected with an actionable error. Draft invoices: iOS finalizes them first, Android rejects them with invoice_state_changed.Parameters
idstringRequiredStripe invoice ID (must start with in_)callbackstringURL to return to after completion. Receives invoice_id and payment_intent_id on success.metadatastringCustom key-value pairs (URL-encoded JSON) merged into the PaymentIntent metadataautoprocessbooleanAlias: autoSkip home screen and start charge immediatelyauto_returnbooleanFire callback when result loads instead of waiting for the merchant to dismiss the result dialog. Default false.
| Name | Type | Required | Description |
|---|
id | string | Yes | Stripe invoice ID (must start with in_) |
callback | string | No | URL to return to after completion. Receives invoice_id and payment_intent_id on success. |
metadata | string | No | Custom key-value pairs (URL-encoded JSON) merged into the PaymentIntent metadata |
autoprocessAlias: auto | boolean | No | Skip home screen and start charge immediately |
auto_return | boolean | No | Fire callback when result loads instead of waiting for the merchant to dismiss the result dialog. Default false. |