POST /v1/charges
This method is no longer recommended—use the Payment Intents API
to initiate a new payment instead. Confirmation of the PaymentIntent creates the Charge
object used to request payment.
Servers
- https://api.stripe.com/
Request headers
Name | Type | Required | Description |
---|---|---|---|
Content-Type |
String | Yes |
The media type of the request body.
Default value: "application/x-www-form-urlencoded" |
Request body fields
Name | Type | Required | Description |
---|---|---|---|
source |
String | No |
A payment source to be charged. This can be the ID of a card (i.e., credit or debit card), a bank account, a source, a token, or a connected account. For certain sources---namely, cards, bank accounts, and attached sources---you must also pass the ID of the associated customer. |
application_fee |
Integer | No | |
description |
String | No |
An arbitrary string which you can attach to a |
destination |
No | ||
expand[] |
Array | No |
Specifies which fields in the response should be expanded. |
application_fee_amount |
Integer | No |
A fee in cents (or local equivalent) that will be applied to the charge and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the |
metadata |
No |
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to |
|
transfer_group |
String | No |
A string that identifies this transaction as part of a group. For details, see Grouping transactions. |
receipt_email |
String | No |
The email address to which this charge's receipt will be sent. The receipt will not be sent until the charge is paid, and no receipts will be sent for test mode charges. If this charge is for a Customer, the email address specified here will override the customer's email address. If |
card |
No |
A token, like the ones returned by Stripe.js. |
|
statement_descriptor_suffix |
String | No |
Provides information about a card charge. Concatenated to the account's statement descriptor prefix to form the complete statement descriptor that appears on the customer's statement. If the account has no prefix value, the suffix is concatenated to the account's statement descriptor. |
currency |
String | No |
Three-letter ISO currency code, in lowercase. Must be a supported currency. |
on_behalf_of |
String | No |
The Stripe account ID for which these funds are intended. Automatically set if you use the |
customer |
String | No |
The ID of an existing customer that will be charged in this request. |
capture |
Boolean | No |
Whether to immediately capture the charge. Defaults to |
amount |
Integer | No |
Amount intended to be collected by this payment. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or equivalent in charge currency. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). |
shipping |
Object | No |
Shipping information for the charge. Helps prevent fraud on charges for physical goods. |
shipping.name |
String | Yes | |
shipping.carrier |
String | No | |
shipping.phone |
String | No | |
shipping.address |
Object | Yes | |
shipping.address.line2 |
String | No | |
shipping.address.line1 |
String | No | |
shipping.address.postal_code |
String | No | |
shipping.address.country |
String | No | |
shipping.address.state |
String | No | |
shipping.address.city |
String | No | |
shipping.tracking_number |
String | No | |
radar_options |
Object | No |
Options to configure Radar. See Radar Session for more information. |
radar_options.session |
String | No | |
statement_descriptor |
String | No |
For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see the Statement Descriptor docs. For a card charge, this value is ignored unless you don't specify a |
transfer_data |
Object | No |
An optional dictionary including the account to automatically transfer to as part of a destination charge. See the Connect documentation for details. |
transfer_data.destination |
String | Yes | |
transfer_data.amount |
Integer | No |
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.