{ "consumes": [ "application/x-www-form-urlencoded" ], "definitions": { "account": { "properties": { "active_payment_methods": { "description": "", "type": [ "array" ] }, "business_name": { "description": "The publicly visible name of the business.", "type": [ "string" ] }, "business_url": { "description": "The publicly visible website of the business.", "type": [ "string" ] }, "charges_enabled": { "description": "Whether or not the account can create live charges.", "type": [ "boolean" ] }, "country": { "description": "The country of the account.", "type": [ "string" ] }, "debit_negative_balances": { "description": "Whether or not Stripe will attempt to reclaim negative account balances from this account's bank account.", "type": [ "boolean" ] }, "decline_charge_on": { "$ref": "#/definitions/account_decline_charge_on" }, "default_currency": { "description": "The currency this account has chosen to use as the default.", "type": [ "string" ] }, "details_submitted": { "description": "Whether or not account details have been submitted yet. Standalone accounts cannot receive transfers before this is true.", "type": [ "boolean" ] }, "display_name": { "description": "The display name for this account. This is used on the Stripe dashboard to help you differentiate between accounts.", "type": [ "string" ] }, "email": { "description": "The primary user's email address.", "type": [ "string" ] }, "external_accounts": { "properties": { "data": { "items": { "type": [ "object" ] }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "ExternalAccountList", "type": [ "object" ] }, "id": { "description": "A unique identifier for the account.", "type": [ "string" ] }, "legal_entity": { "$ref": "#/definitions/legal_entity" }, "managed": { "description": "Whether or not the account is [managed](/docs/connect/managed-accounts) by your platform. Returns null if the account was not created by a platform.", "type": [ "boolean" ] }, "mcc": { "description": "", "type": [ "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to an account object. It can be useful for storing additional information about the account in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] }, "orders": { "$ref": "#/definitions/settings" }, "product_description": { "description": "An internal-only description of the product or service provided. This is used by Stripe in the event the account gets flagged for potential fraud.", "type": [ "string" ] }, "statement_descriptor": { "description": "The text that will appear on credit card statements.", "type": [ "string" ] }, "support_email": { "description": "A publicly shareable email address that can be reached for support for this account.", "type": [ "string" ] }, "support_phone": { "description": "The publicly visible support phone number for the business.", "type": [ "string" ] }, "timezone": { "description": "The timezone used in the Stripe dashboard for this account. A list of possible timezone values is maintained at the [IANA Timezone Database](http://www.iana.org/time-zones).", "type": [ "string" ] }, "tos_acceptance": { "$ref": "#/definitions/account_tos_acceptance" }, "transfer_schedule": { "$ref": "#/definitions/transfer_schedule" }, "transfer_statement_descriptor": { "description": "The text that will appear on the account's bank account statement for payouts. If not set, this will default to your platform's bank descriptor set on the Dashboard.", "type": [ "string" ] }, "transfers_enabled": { "description": "Whether or not Stripe will send automatic transfers for this account. This is only false when Stripe is waiting for additional information from the account holder.", "type": [ "boolean" ] }, "verification": { "$ref": "#/definitions/account_verification" } }, "required": [ "active_payment_methods", "charges_enabled", "country", "debit_negative_balances", "decline_charge_on", "default_currency", "details_submitted", "external_accounts", "id", "legal_entity", "managed", "object", "tos_acceptance", "transfer_schedule", "transfers_enabled", "verification" ], "title": "Account", "type": [ "object" ], "x-resourceId": "account" }, "account_decline_charge_on": { "properties": { "avs_failure": { "description": "Whether or not Stripe should automatically decline charges with an incorrect zip/postal code. This setting only applies if a card includes a zip code and the bank specifically marks it as failed.", "type": [ "boolean" ] }, "cvc_failure": { "description": "Whether or not Stripe should automatically decline charges with an incorrect CVC. This setting only applies if a card includes a CVC and the bank specifically marks it as failed.", "type": [ "boolean" ] } }, "required": [ "avs_failure", "cvc_failure" ], "title": "AccountDeclineChargeOn", "type": [ "object" ], "x-resourceId": "account_decline_charge_on" }, "account_tos_acceptance": { "properties": { "date": { "description": "The timestamp when the account owner accepted Stripe's terms.", "type": [ "integer" ] }, "ip": { "description": "The IP address from which the account owner accepted Stripe's terms.", "type": [ "string" ] }, "user_agent": { "description": "The user agent of the browser from which the user accepted Stripe's terms.", "type": [ "string" ] } }, "title": "AccountTOSAcceptance", "type": [ "object" ], "x-resourceId": "account_tos_acceptance" }, "account_verification": { "properties": { "disabled_reason": { "description": "A string describing the reason for this account being unable to charge and/or transfer, if that is the case. Possible values are `rejected.fraud`, `rejected.terms_of_service`, `rejected.listed`, `rejected.other`, `fields_needed`, `listed`, or `other`.", "type": [ "string" ] }, "due_by": { "description": "At what time the `fields_needed` must be provided. If this date is in the past, the account is already in bad standing, and providing `fields_needed` is necessary to re-enable transfers and prevent other consequences. If this date is in the future, `fields_needed` must be provided to ensure the account remains in good standing.", "type": [ "integer" ] }, "fields_needed": { "description": "Field names that need to be provided for the account to remain in good standing. Nested fields are separated by \".\" (for example, \"legal_entity.first_name\").", "type": [ "array" ] } }, "required": [ "fields_needed" ], "title": "AccountVerification", "type": [ "object" ], "x-resourceId": "account_verification" }, "account_with_keys": { "properties": { "active_payment_methods": { "description": "", "type": [ "array" ] }, "business_name": { "description": "The publicly visible name of the business.", "type": [ "string" ] }, "business_url": { "description": "The publicly visible website of the business.", "type": [ "string" ] }, "charges_enabled": { "description": "Whether or not the account can create live charges.", "type": [ "boolean" ] }, "country": { "description": "The country of the account.", "type": [ "string" ] }, "debit_negative_balances": { "description": "Whether or not Stripe will attempt to reclaim negative account balances from this account's bank account.", "type": [ "boolean" ] }, "decline_charge_on": { "$ref": "#/definitions/account_decline_charge_on" }, "default_currency": { "description": "The currency this account has chosen to use as the default.", "type": [ "string" ] }, "details_submitted": { "description": "Whether or not account details have been submitted yet. Standalone accounts cannot receive transfers before this is true.", "type": [ "boolean" ] }, "display_name": { "description": "The display name for this account. This is used on the Stripe dashboard to help you differentiate between accounts.", "type": [ "string" ] }, "email": { "description": "The primary user's email address.", "type": [ "string" ] }, "external_accounts": { "properties": { "data": { "items": { "type": [ "object" ] }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "ExternalAccountList", "type": [ "object" ] }, "id": { "description": "A unique identifier for the account.", "type": [ "string" ] }, "keys": { "description": "", "type": [ "object" ] }, "legal_entity": { "$ref": "#/definitions/legal_entity" }, "managed": { "description": "Whether or not the account is [managed](/docs/connect/managed-accounts) by your platform. Returns null if the account was not created by a platform.", "type": [ "boolean" ] }, "mcc": { "description": "", "type": [ "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to an account object. It can be useful for storing additional information about the account in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] }, "orders": { "$ref": "#/definitions/settings" }, "product_description": { "description": "An internal-only description of the product or service provided. This is used by Stripe in the event the account gets flagged for potential fraud.", "type": [ "string" ] }, "statement_descriptor": { "description": "The text that will appear on credit card statements.", "type": [ "string" ] }, "support_email": { "description": "A publicly shareable email address that can be reached for support for this account.", "type": [ "string" ] }, "support_phone": { "description": "The publicly visible support phone number for the business.", "type": [ "string" ] }, "timezone": { "description": "The timezone used in the Stripe dashboard for this account. A list of possible timezone values is maintained at the [IANA Timezone Database](http://www.iana.org/time-zones).", "type": [ "string" ] }, "tos_acceptance": { "$ref": "#/definitions/account_tos_acceptance" }, "transfer_schedule": { "$ref": "#/definitions/transfer_schedule" }, "transfer_statement_descriptor": { "description": "The text that will appear on the account's bank account statement for payouts. If not set, this will default to your platform's bank descriptor set on the Dashboard.", "type": [ "string" ] }, "transfers_enabled": { "description": "Whether or not Stripe will send automatic transfers for this account. This is only false when Stripe is waiting for additional information from the account holder.", "type": [ "boolean" ] }, "verification": { "$ref": "#/definitions/account_verification" } }, "required": [ "active_payment_methods", "charges_enabled", "country", "debit_negative_balances", "decline_charge_on", "default_currency", "details_submitted", "external_accounts", "id", "keys", "legal_entity", "managed", "object", "tos_acceptance", "transfer_schedule", "transfers_enabled", "verification" ], "title": "AccountWithKeys", "type": [ "object" ], "x-resourceId": "account_with_keys" }, "address": { "properties": { "city": { "description": "City/Suburb/Town/Village.", "type": [ "string" ] }, "country": { "description": "2-letter country code.", "type": [ "string" ] }, "line1": { "description": "Address line 1 (Street address/PO Box/Company name).", "type": [ "string" ] }, "line2": { "description": "Address line 2 (Apartment/Suite/Unit/Building).", "type": [ "string" ] }, "postal_code": { "description": "Zip/Postal Code.", "type": [ "string" ] }, "state": { "description": "State/Province/County.", "type": [ "string" ] } }, "title": "Address", "type": [ "object" ], "x-resourceId": "address" }, "alipay_account": { "properties": { "created": { "description": "", "type": [ "integer" ] }, "customer": { "description": "", "type": [ "string" ] }, "fingerprint": { "description": "Uniquely identifies the account and will be the same across all Alipay account objects that are linked to the same Alipay account.", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a customer object. It can be useful for storing additional information about the customer in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] }, "payment_amount": { "description": "If the Alipay account object is not reusable, the exact amount that you can create a charge for.", "type": [ "integer" ] }, "payment_currency": { "description": "If the Alipay account object is not reusable, the exact currency that you can create a charge for.", "type": [ "string" ] }, "reusable": { "description": "True if you can create multiple payments using this account. If the account is reusable, then you can freely choose the amount of each payment.", "type": [ "boolean" ] }, "used": { "description": "Whether this Alipay account object has ever been used for a payment.", "type": [ "boolean" ] }, "username": { "description": "The username for the Alipay account.", "type": [ "string" ] } }, "required": [ "created", "fingerprint", "id", "livemode", "metadata", "object", "reusable", "used", "username" ], "title": "AlipayAccount", "type": [ "object" ], "x-resourceId": "alipay_account" }, "apple_pay_domain": { "properties": { "created": { "description": "", "type": [ "integer" ] }, "domain_name": { "description": "", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "object": { "description": "", "type": [ "string" ] } }, "required": [ "created", "domain_name", "id", "livemode", "object" ], "title": "ApplePayDomain", "type": [ "object" ], "x-resourceId": "apple_pay_domain" }, "authorization_settings": { "properties": { "issuer": { "description": "", "type": [ "string" ] }, "provider": { "description": "", "type": [ "string" ] }, "type": { "description": "", "type": [ "string" ] } }, "required": [ "type" ], "title": "AuthorizationSettings", "type": [ "object" ], "x-resourceId": "authorization_settings" }, "balance": { "properties": { "available": { "description": "Funds that are available to be paid out automatically by Stripe or explicitly via the [transfers AP](#transfers). The available balance for each currency and payment type can be found in the `source_types` property.", "type": [ "array" ] }, "connect_reserved": { "description": "Funds held due to negative balances on connected Managed Accounts. The connect reserve balance for each currency and payment type can be found in the `source_types` property.", "type": [ "array" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "object": { "description": "", "type": [ "string" ] }, "pending": { "description": "Funds that are not available in the balance yet, due to the 7-day rolling pay cycle. The pending balance for each currency and payment type can be found in the `source_types` property.", "type": [ "array" ] } }, "required": [ "available", "livemode", "object", "pending" ], "title": "Balance", "type": [ "object" ], "x-resourceId": "balance" }, "balance_transaction": { "properties": { "amount": { "description": "Gross amount of the transaction, in %s.", "type": [ "integer" ] }, "available_on": { "description": "The date the transaction's net funds will become available in the Stripe balance.", "type": [ "integer" ] }, "created": { "description": "", "type": [ "integer" ] }, "currency": { "description": "", "type": [ "string" ] }, "description": { "description": "", "type": [ "string" ] }, "fee": { "description": "Fees (in %s) paid for this transaction.", "type": [ "integer" ] }, "fee_details": { "$ref": "#/definitions/fee" }, "id": { "description": "", "type": [ "string" ] }, "net": { "description": "Net amount of the transaction, in %s.", "type": [ "integer" ] }, "object": { "description": "", "type": [ "string" ] }, "source": { "description": "The Stripe object this transaction is related to.", "type": [ "string" ] }, "status": { "description": "If the transaction's net funds are available in the Stripe balance yet. Either `available` or `pending`.", "type": [ "string" ] }, "type": { "description": "Transaction type: `adjustment`, `application_fee`, `application_fee_refund`, `charge`, `payment`, `payment_failure_refund`, `payment_refund`, `refund`, `transfer`, `transfer_cancel`, `transfer_failure`, `transfer_refund`, or `validation`.", "type": [ "string" ] } }, "required": [ "amount", "available_on", "created", "currency", "fee", "fee_details", "id", "net", "object", "status", "type" ], "title": "BalanceTransaction", "type": [ "object" ], "x-resourceId": "balance_transaction" }, "bitcoin_receiver": { "properties": { "active": { "description": "True when this bitcoin receiver has received a non-zero amount of bitcoin.", "type": [ "boolean" ] }, "amount": { "description": "The amount of `currency` that you are collecting as payment.", "type": [ "integer" ] }, "amount_received": { "description": "The amount of `currency` to which `bitcoin_amount_received` has been converted.", "type": [ "integer" ] }, "bitcoin_amount": { "description": "The amount of bitcoin that the customer should send to fill the receiver. The `bitcoin_amount` is denominated in Satoshi: there are 10^8 Satoshi in one bitcoin.", "type": [ "integer" ] }, "bitcoin_amount_received": { "description": "The amount of bitcoin that has been sent by the customer to this receiver.", "type": [ "integer" ] }, "bitcoin_uri": { "description": "This URI can be displayed to the customer as a clickable link (to activate their bitcoin client) or as a QR code (for mobile wallets).", "type": [ "string" ] }, "created": { "description": "", "type": [ "integer" ] }, "currency": { "description": "Three-letter ISO currency code representing the currency to which the bitcoin will be converted.", "type": [ "string" ] }, "customer": { "description": "", "type": [ "string" ] }, "description": { "description": "", "type": [ "string" ] }, "email": { "description": "The customer's email address, set by the API call that creates the receiver.", "type": [ "string" ] }, "filled": { "description": "This flag is initially false and updates to true when the customer sends the `bitcoin_amount` to this receiver.", "type": [ "boolean" ] }, "id": { "description": "", "type": [ "string" ] }, "inbound_address": { "description": "A bitcoin address that is specific to this receiver. The customer can send bitcoin to this address to fill the receiver.", "type": [ "string" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a customer object. It can be useful for storing additional information about the customer in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] }, "payment": { "description": "The ID of the payment created from the receiver, if any. Hidden when viewing the receiver with a publishable key.", "type": [ "string" ] }, "refund_address": { "description": "The refund address for these bitcoin, if communicated by the customer.", "type": [ "string" ] }, "transactions": { "properties": { "data": { "items": { "$ref": "#/definitions/bitcoin_transaction" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "BitcoinTransactionList", "type": [ "object" ] }, "uncaptured_funds": { "description": "This receiver contains uncaptured funds that can be used for a payment or refunded.", "type": [ "boolean" ] }, "used_for_payment": { "description": "", "type": [ "boolean" ] } }, "required": [ "active", "amount", "amount_received", "bitcoin_amount", "bitcoin_amount_received", "bitcoin_uri", "created", "currency", "filled", "id", "inbound_address", "livemode", "metadata", "object", "transactions", "uncaptured_funds" ], "title": "BitcoinReceiver", "type": [ "object" ], "x-resourceId": "bitcoin_receiver" }, "bitcoin_transaction": { "properties": { "amount": { "description": "The amount of `currency` that the transaction was converted to in real-time.", "type": [ "integer" ] }, "bitcoin_amount": { "description": "The amount of bitcoin contained in the transaction.", "type": [ "integer" ] }, "created": { "description": "", "type": [ "integer" ] }, "currency": { "description": "The currency to which this transaction was converted.", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "object": { "description": "", "type": [ "string" ] }, "receiver": { "description": "The receiver to which this transaction was sent.", "type": [ "string" ] } }, "required": [ "amount", "bitcoin_amount", "created", "currency", "id", "object", "receiver" ], "title": "BitcoinTransaction", "type": [ "object" ], "x-resourceId": "bitcoin_transaction" }, "channel_settings": { "properties": { "twitter": { "$ref": "#/definitions/twitter_buy_now_settings" } }, "title": "ChannelSettings", "type": [ "object" ], "x-resourceId": "channel_settings" }, "charge": { "properties": { "amount": { "description": "A positive integer in the [smallest currency unit](https://support.stripe.com/questions/which-zero-decimal-currencies-does-stripe-support) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a 0-decimal currency) representing how much to charge. The minimum amount is $0.50 US or [equivalent in charge currency](https://support.stripe.com/questions/what-is-the-minimum-amount-i-can-charge-with-stripe).", "type": [ "integer" ] }, "amount_authorized": { "description": "", "type": [ "integer" ] }, "amount_captured": { "description": "", "type": [ "integer" ] }, "amount_refunded": { "description": "Amount in %s refunded (can be less than the amount attribute on the charge if a partial refund was issued).", "type": [ "integer" ] }, "application": { "description": "ID of the Connect application that created the charge.", "type": [ "string" ] }, "application_fee": { "description": "The application fee (if any) for the charge. [See the Connect documentation](/docs/connect/payments-fees#collecting-fees) for details.", "type": [ "string" ] }, "balance_transaction": { "description": "ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes).", "type": [ "string" ] }, "captured": { "description": "If the charge was created without capturing, this boolean represents whether or not it is still uncaptured or has since been captured.", "type": [ "boolean" ] }, "card": { "$ref": "#/definitions/payment_card" }, "created": { "description": "", "type": [ "integer" ] }, "currency": { "description": "Three-letter ISO currency code representing the currency in which the charge was made.", "type": [ "string" ] }, "customer": { "description": "ID of the customer this charge is for if one exists.", "type": [ "string" ] }, "description": { "description": "", "type": [ "string" ] }, "destination": { "description": "The account (if any) the charge was made on behalf of, with an automatic transfer. [See the Connect documentation](/docs/connect/payments-fees#charging-through-the-platform) for details.", "type": [ "string" ] }, "dispute": { "description": "Details about the dispute if the charge has been disputed.", "type": [ "string" ] }, "failure_code": { "description": "Error code explaining reason for charge failure if available (see [the errors section](/docs/api#errors) for a list of codes).", "type": [ "string" ] }, "failure_message": { "description": "Message to user further explaining reason for charge failure if available.", "type": [ "string" ] }, "fraud_details": { "description": "Hash with information on fraud assessments for the charge. Assessments reported by you have the key `user_report` and, if set, possible values of `safe` and `fraudulent`. Assessments from Stripe have the key `stripe_report` and, if set, the value `fraudulent`.", "type": [ "object" ] }, "id": { "description": "", "type": [ "string" ] }, "invoice": { "description": "ID of the invoice this charge is for if one exists.", "type": [ "string" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a charge object. It can be useful for storing additional information about the charge in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] }, "on_behalf_of": { "description": "The account (if any) the charge was made on behalf of without triggering an automatic transfer. [See the Connect documentation](/docs/connect/payments-fees#charging-through-the-platform) for details.", "type": [ "string" ] }, "order": { "description": "ID of the order this charge is for if one exists.", "type": [ "string" ] }, "outcome": { "$ref": "#/definitions/charge_outcome" }, "paid": { "description": "`true` if the charge succeeded, or was successfully authorized for later capture.", "type": [ "boolean" ] }, "receipt_email": { "description": "This is the email address that the receipt for this charge was sent to.", "type": [ "string" ] }, "receipt_number": { "description": "This is the transaction number that appears on email receipts sent for this charge.", "type": [ "string" ] }, "refunded": { "description": "Whether or not the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false.", "type": [ "boolean" ] }, "refunds": { "properties": { "data": { "items": { "$ref": "#/definitions/refund" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "RefundList", "type": [ "object" ] }, "review": { "description": "ID of the review associated with this charge if one exists.", "type": [ "string" ] }, "shipping": { "$ref": "#/definitions/shipping" }, "source_transfer": { "description": "The transfer ID which created this charge. Only present if the charge came from another Stripe account. [See the Connect documentation](/docs/connect/payments-fees#charging-through-the-platform) for details.", "type": [ "string" ] }, "statement_descriptor": { "description": "Extra information about a charge. This will appear on your customer's credit card statement.", "type": [ "string" ] }, "status": { "description": "The status of the payment is either `succeeded`, `pending`, or `failed`.", "type": [ "string" ] }, "transfer": { "description": "ID of the transfer to the `destination` account (only applicable if the charge was created using the `destination` parameter).", "type": [ "string" ] }, "transfer_group": { "description": "A string that identifies this transaction as part of a group. [See the Connect documentation](/docs/connect/transfer-group) for details.", "type": [ "string" ] } }, "required": [ "amount", "amount_captured", "amount_refunded", "captured", "created", "currency", "id", "livemode", "metadata", "object", "paid", "refunded", "refunds", "status" ], "title": "Charge", "type": [ "object" ], "x-resourceId": "charge" }, "charge_outcome": { "properties": { "network_status": { "description": "Possible values are `approved_by_network`, `declined_by_network`, `not_sent_to_network`, and `reversed_after_approval`. The value `reversed_after_approval` indicates the payment was [blocked by Stripe](/docs/declines#blocked-payments) after bank authorization, and may temporarily appear as \"pending\" on a cardholder's statement.", "type": [ "string" ] }, "reason": { "description": "An enumerated value indicating a more detailed explanation of the outcome's `type`. See [understanding declines](/docs/declines) for details.", "type": [ "string" ] }, "risk_level": { "description": "Stripe's evaluation of the riskiness of the payment. Possible values for evaluated payments are `normal`, `elevated`, `highest`. For non-card payments, and card-based payments predating the public assignment of risk levels, this field will have the value `not_assessed`. In the event of an error in the evaluation, this field will have the value `unknown`.", "type": [ "string" ] }, "rule": { "description": "The ID of the Radar rule that matched the payment.", "type": [ "string" ] }, "seller_message": { "description": "A human-readable description of the outcome type and reason, designed for you (the recipient of the payment), not your customer.", "type": [ "string" ] }, "type": { "description": "Possible values are `authorized`, `issuer_declined`, `blocked`, and `invalid`. See [understanding declines](/docs/declines) for details.", "type": [ "string" ] } }, "required": [ "type" ], "title": "ChargeOutcome", "type": [ "object" ], "x-resourceId": "charge_outcome" }, "country_spec": { "properties": { "default_currency": { "description": "The default currency for this country. This applies to both payment methods and bank accounts.", "type": [ "string" ] }, "id": { "description": "The ISO Country code for this country.", "type": [ "string" ] }, "object": { "description": "", "type": [ "string" ] }, "supported_bank_account_currencies": { "description": "Currencies that can be accepted in the specific country (for transfers).", "type": [ "object" ] }, "supported_payment_currencies": { "description": "Currencies that can be accepted in the specified country (for payments).", "type": [ "array" ] }, "supported_payment_methods": { "description": "Payment methods available in the specified country. You will need to [enable bitcoin](https://dashboard.stripe.com/account/bitcoin/enable) and [ACH](https://stripe.com/docs/guides/ach) payments on your account for those methods to appear in this list. The `stripe` payment method refers to [charging through your platform](https://stripe.com/docs/connect/payments-fees#charging-through-the-platform).", "type": [ "array" ] }, "verification_fields": { "description": "Lists the types of verification data needed to keep an account open. Includes 'minimum' fields, which every account must eventually provide, as well as a 'additional' fields, which are only required for some merchants.", "type": [ "object" ] } }, "required": [ "default_currency", "id", "object", "supported_bank_account_currencies", "supported_payment_currencies", "supported_payment_methods", "verification_fields" ], "title": "CountrySpec", "type": [ "object" ], "x-resourceId": "country_spec" }, "coupon": { "properties": { "amount_off": { "description": "Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer.", "type": [ "integer" ] }, "created": { "description": "", "type": [ "integer" ] }, "currency": { "description": "If `amount_off` has been set, the currency of the amount to take off.", "type": [ "string" ] }, "duration": { "description": "One of `forever`, `once`, and `repeating`. Describes how long a customer who applies this coupon will get the discount.", "type": [ "string" ] }, "duration_in_months": { "description": "If `duration` is `repeating`, the number of months the coupon applies. Null if coupon `duration` is `forever` or `once`.", "type": [ "integer" ] }, "id": { "description": "", "type": [ "string" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "max_redemptions": { "description": "Maximum number of times this coupon can be redeemed, in total, before it is no longer valid.", "type": [ "integer" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a coupon object. It can be useful for storing additional information about the coupon in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] }, "percent_off": { "description": "Percent that will be taken off the subtotal of any invoices for this customer for the duration of the coupon. For example, a coupon with percent_off of 50 will make a %s100 invoice %s50 instead.", "type": [ "integer" ] }, "redeem_by": { "description": "Date after which the coupon can no longer be redeemed.", "type": [ "integer" ] }, "times_redeemed": { "description": "Number of times this coupon has been applied to a customer.", "type": [ "integer" ] }, "valid": { "description": "Taking account of the above properties, whether this coupon can still be applied to a customer.", "type": [ "boolean" ] } }, "required": [ "created", "duration", "id", "livemode", "metadata", "object", "times_redeemed", "valid" ], "title": "Coupon", "type": [ "object" ], "x-resourceId": "coupon" }, "customer": { "properties": { "account_balance": { "description": "Current balance, if any, being stored on the customer's account. If negative, the customer has credit to apply to the next invoice. If positive, the customer has an amount owed that will be added to the next invoice. The balance does not refer to any unpaid invoices; it solely takes into account amounts that have yet to be successfully applied to any invoice. This balance is only taken into account for recurring billing purposes (i.e., subscriptions, invoices, invoice items).", "type": [ "integer" ] }, "alipay_accounts": { "properties": { "data": { "items": { "$ref": "#/definitions/alipay_account" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "AlipayAccountList", "type": [ "object" ] }, "bank_accounts": { "properties": { "data": { "items": { "$ref": "#/definitions/payment_bank_account" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "PaymentBankAccountList", "type": [ "object" ] }, "business_vat_id": { "description": "The customer's VAT identification number.", "type": [ "string" ] }, "cards": { "properties": { "data": { "items": { "$ref": "#/definitions/payment_card" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "PaymentCardList", "type": [ "object" ] }, "created": { "description": "", "type": [ "integer" ] }, "currency": { "description": "The currency the customer can be charged in for recurring billing purposes.", "type": [ "string" ] }, "default_bank_account": { "description": "", "type": [ "string" ] }, "default_card": { "description": "", "type": [ "string" ] }, "default_source": { "description": "ID of the default source attached to this customer.", "type": [ "string" ] }, "delinquent": { "description": "Whether or not the latest charge for the customer's latest invoice has failed.", "type": [ "boolean" ] }, "description": { "description": "", "type": [ "string" ] }, "discount": { "$ref": "#/definitions/discount" }, "email": { "description": "", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a customer object. It can be useful for storing additional information about the customer in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] }, "shipping": { "$ref": "#/definitions/customer_shipping" }, "sources": { "properties": { "data": { "items": { "type": [ "object" ] }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "SourceList", "type": [ "object" ] }, "subscriptions": { "properties": { "data": { "items": { "$ref": "#/definitions/subscription" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "SubscriptionList", "type": [ "object" ] } }, "required": [ "account_balance", "cards", "created", "id", "livemode", "metadata", "object", "sources", "subscriptions" ], "title": "Customer", "type": [ "object" ], "x-resourceId": "customer" }, "customer_shipping": { "properties": { "address": { "$ref": "#/definitions/address" }, "name": { "description": "Customer name.", "type": [ "string" ] }, "phone": { "description": "Customer phone (including extension).", "type": [ "string" ] } }, "required": [ "address", "name" ], "title": "CustomerShipping", "type": [ "object" ], "x-resourceId": "customer_shipping" }, "customer_source": { "properties": { "id": { "description": "", "type": [ "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a bank account object. It can be useful for storing additional information about the bank account in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] } }, "required": [ "id", "metadata", "object" ], "title": "Polymorphic", "type": [ "object" ], "x-resourceId": "customer_source" }, "delivery_estimate": { "properties": { "date": { "description": "If `type` is `\"exact\"`, `date` will be the expected delivery date in the format YYYY-MM-DD.", "type": [ "string" ] }, "earliest": { "description": "If `type` is `\"range\"`, `earliest` will be be the earliest delivery date in the format YYYY-MM-DD.", "type": [ "string" ] }, "latest": { "description": "If `type` is `\"range\"`, `latest` will be the latest delivery date in the format YYYY-MM-DD.", "type": [ "string" ] }, "type": { "description": "The type of estimate. Must be either `\"range\"` or `\"exact\"`.", "type": [ "string" ] } }, "required": [ "type" ], "title": "DeliveryEstimate", "type": [ "object" ], "x-resourceId": "delivery_estimate" }, "discount": { "properties": { "coupon": { "$ref": "#/definitions/coupon" }, "customer": { "description": "", "type": [ "string" ] }, "end": { "description": "If the coupon has a duration of `once` or `repeating`, the date that this discount will end. If the coupon used has a `forever` duration, this attribute will be null.", "type": [ "integer" ] }, "object": { "description": "", "type": [ "string" ] }, "start": { "description": "Date that the coupon was applied.", "type": [ "integer" ] }, "subscription": { "description": "The subscription that this coupon is applied to, if it is applied to a particular subscription.", "type": [ "string" ] } }, "required": [ "coupon", "object", "start" ], "title": "Discount", "type": [ "object" ], "x-resourceId": "discount" }, "dispute": { "properties": { "amount": { "description": "Disputed amount. Usually the amount of the charge, but can differ (usually because of currency fluctuation or because only part of the order is disputed).", "type": [ "integer" ] }, "balance_transactions": { "$ref": "#/definitions/balance_transaction" }, "charge": { "description": "ID of the charge that was disputed.", "type": [ "string" ] }, "created": { "description": "Date dispute was opened.", "type": [ "integer" ] }, "currency": { "description": "Three-letter ISO currency code representing the currency of the amount that was disputed.", "type": [ "string" ] }, "evidence": { "description": "Evidence provided to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review.", "type": [ "object" ] }, "evidence_details": { "description": "Information about the evidence submission.", "type": [ "object" ] }, "id": { "description": "", "type": [ "string" ] }, "is_charge_refundable": { "description": "If true, it is still possible to refund the disputed payment. Once the payment has been fully refunded, no further funds will be withdrawn from your Stripe account as a result of this dispute.", "type": [ "boolean" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a dispute object. It can be useful for storing additional information about the dispute in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] }, "reason": { "description": "Reason given by cardholder for dispute. Possible values are `duplicate`, `fraudulent`, `subscription_canceled`, `product_unacceptable`, `product_not_received`, `unrecognized`, `credit_not_processed`, `general`, `incorrect_account_details`, `insufficient_funds`, `bank_cannot_process`, `debit_not_authorized`, `customer_initiated`. Read more about [dispute reasons](https://stripe.com/help/disputes#reasons).", "type": [ "string" ] }, "status": { "description": "Current status of dispute. Possible values are `warning_needs_response`, `warning_under_review`, `warning_closed`, `needs_response`, `under_review`, `charge_refunded`, `won`, `lost`.", "type": [ "string" ] } }, "required": [ "amount", "balance_transactions", "charge", "created", "currency", "evidence", "evidence_details", "id", "is_charge_refundable", "livemode", "metadata", "object", "reason", "status" ], "title": "Dispute", "type": [ "object" ], "x-resourceId": "dispute" }, "error": { "description": "An error response from the Stripe API.", "properties": { "charge": { "description": "The ID of the failed charge.", "type": [ "string" ] }, "code": { "description": "For card errors, a short string from amongst those listed on the right describing the kind of card error that occurred. ", "type": [ "string" ] }, "decline_code": { "description": "For card errors resulting from a bank decline, a short string indicating the bank's reason for the decline if they provide one. See https://stripe.com/docs/declines#bank-declines", "type": [ "string" ] }, "message": { "description": "A human-readable message providing more details about the error. For card errors, these messages can be shown to your users.", "type": [ "string" ] }, "param": { "description": "The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.", "type": [ "string" ] }, "type": { "description": "The type of error returned.", "enum": [ "api_connection_error", "api_error", "authentication_error", "card_error", "invalid_request_error", "rate_limit_error" ], "type": [ "string" ] } }, "required": [ "type" ], "type": [ "object" ] }, "event": { "properties": { "api_version": { "description": "The Stripe API version used to render `data`. *Note: this property is populated for events on or after October 31, 2014.*.", "type": [ "string" ] }, "created": { "description": "", "type": [ "integer" ] }, "data": { "$ref": "#/definitions/event_data" }, "id": { "description": "", "type": [ "string" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "object": { "description": "", "type": [ "string" ] }, "pending_webhooks": { "description": "Number of webhooks yet to be delivered successfully (return a 20x response) to the URLs you've specified.", "type": [ "integer" ] }, "request": { "description": "ID of the API request that caused the event. If null, the event was automatic (e.g. Stripe's automatic subscription handling). Request logs are available in the [dashboard](https://dashboard.stripe.com/logs) but currently not in the API. *Note: this property is populated for events on or after April 23, 2013.*.", "type": [ "string" ] }, "type": { "description": "Description of the event: e.g. `invoice.created`, `charge.refunded`, etc.", "type": [ "string" ] } }, "required": [ "created", "data", "id", "livemode", "object", "pending_webhooks", "type" ], "title": "Event", "type": [ "object" ], "x-resourceId": "event" }, "event_data": { "properties": { "object": { "description": "describes the object the event is about. For example, an `invoice.created` event will have a full invoice object as the value of the object key.", "type": [ "object" ] }, "previous_attributes": { "description": "Hash containing the names of the attributes that have changed and their previous values (only sent along with *.updated events)", "type": [ "object" ] } }, "required": [ "object" ], "title": "EventData", "type": [ "object" ], "x-resourceId": "event_data" }, "external_account_source": { "properties": { "account": { "description": "", "type": [ "string" ] }, "address_city": { "description": "", "type": [ "string" ] }, "address_line1": { "description": "", "type": [ "string" ] }, "address_line2": { "description": "", "type": [ "string" ] }, "address_state": { "description": "", "type": [ "string" ] }, "address_zip": { "description": "", "type": [ "string" ] }, "country": { "description": "Two-letter ISO code representing the country the bank account is located in.", "type": [ "string" ] }, "currency": { "description": "Three-letter ISO currency code representing the currency paid out to the bank account.", "type": [ "string" ] }, "default_for_currency": { "description": "Whether this external account is the default account for its currency.", "type": [ "boolean" ] }, "fingerprint": { "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "last4": { "description": "", "type": [ "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a bank account object. It can be useful for storing additional information about the bank account in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] } }, "required": [ "account", "country", "currency", "default_for_currency", "id", "last4", "metadata", "object" ], "title": "Polymorphic", "type": [ "object" ], "x-resourceId": "external_account_source" }, "fee": { "properties": { "amount": { "description": "", "type": [ "integer" ] }, "application": { "description": "", "type": [ "string" ] }, "currency": { "description": "", "type": [ "string" ] }, "description": { "description": "", "type": [ "string" ] }, "type": { "description": "Type of the fee, one of: `application_fee`, `stripe_fee` or `tax`.", "type": [ "string" ] } }, "required": [ "amount", "currency", "type" ], "title": "Fee", "type": [ "object" ], "x-resourceId": "fee" }, "fee_refund": { "properties": { "amount": { "description": "Amount, in %s.", "type": [ "integer" ] }, "balance_transaction": { "description": "Balance transaction that describes the impact on your account balance.", "type": [ "string" ] }, "created": { "description": "", "type": [ "integer" ] }, "currency": { "description": "Three-letter ISO code representing the currency.", "type": [ "string" ] }, "fee": { "description": "ID of the application fee that was refunded.", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to the object. It can be useful for storing additional information in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] } }, "required": [ "amount", "created", "currency", "fee", "id", "metadata", "object" ], "title": "FeeRefund", "type": [ "object" ], "x-resourceId": "fee_refund" }, "inventory": { "properties": { "quantity": { "description": "The count of inventory available. Will be present if and only if `type` is `finite`.", "type": [ "integer" ] }, "type": { "description": "Inventory type. Possible values are `finite`, `bucket` (not quantified), and `infinite`.", "type": [ "string" ] }, "value": { "description": "An indicator of the inventory available. Possible values are `in_stock`, `limited`, and `out_of_stock`. Will be present if and only if `type` is `bucket`.", "type": [ "string" ] } }, "required": [ "type" ], "title": "Inventory", "type": [ "object" ], "x-resourceId": "inventory" }, "invoice": { "properties": { "amount_due": { "description": "Final amount due at this time for this invoice. If the invoice's total is smaller than the minimum charge amount, for example, or if there is account credit that can be applied to the invoice, the `amount_due` may be 0. If there is a positive `starting_balance` for the invoice (the customer owes money), the amount_due will also take that into account. The charge that gets generated for the invoice will be for the amount specified in `amount_due`.", "type": [ "integer" ] }, "application_fee": { "description": "The fee in %s that will be applied to the invoice and transferred to the application owner's Stripe account when the invoice is paid.", "type": [ "integer" ] }, "attempt_count": { "description": "Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule.", "type": [ "integer" ] }, "attempted": { "description": "Whether or not an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the `invoice.created` webhook, for example, so you might not want to display that invoice as unpaid to your users.", "type": [ "boolean" ] }, "billing": { "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions.", "type": [ "string" ] }, "charge": { "description": "ID of the latest charge generated for this invoice, if any.", "type": [ "string" ] }, "closed": { "description": "Whether or not the invoice is still trying to collect payment. An invoice is closed if it's either paid or it has been marked closed. A closed invoice will no longer attempt to collect payment.", "type": [ "boolean" ] }, "currency": { "description": "", "type": [ "string" ] }, "customer": { "description": "", "type": [ "string" ] }, "date": { "description": "", "type": [ "integer" ] }, "description": { "description": "", "type": [ "string" ] }, "discount": { "$ref": "#/definitions/discount" }, "due_date": { "description": "The date on which payment for this invoice is due.", "type": [ "integer" ] }, "ending_balance": { "description": "Ending customer balance after attempting to pay invoice. If the invoice has not been attempted yet, this will be null.", "type": [ "integer" ] }, "forgiven": { "description": "Whether or not the invoice has been forgiven. Forgiving an invoice instructs us to update the subscription status as if the invoice were successfully paid. Once an invoice has been forgiven, it cannot be unforgiven or reopened.", "type": [ "boolean" ] }, "id": { "description": "", "type": [ "string" ] }, "lines": { "properties": { "data": { "items": { "$ref": "#/definitions/invoice_line_item" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "InvoiceLines", "type": [ "object" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to an invoice object. It can be useful for storing additional information about the invoice in a structured format.", "type": [ "object" ] }, "next_payment_attempt": { "description": "The time at which payment will next be attempted.", "type": [ "integer" ] }, "number": { "description": "A unique, identifying string that appears on emails sent to the customer for this invoice.", "type": [ "string" ] }, "object": { "description": "", "type": [ "string" ] }, "paid": { "description": "Whether or not payment was successfully collected for this invoice. An invoice can be paid (most commonly) with a charge or with credit from the customer's account balance.", "type": [ "boolean" ] }, "period_end": { "description": "End of the usage period during which invoice items were added to this invoice.", "type": [ "integer" ] }, "period_start": { "description": "Start of the usage period during which invoice items were added to this invoice.", "type": [ "integer" ] }, "receipt_number": { "description": "This is the transaction number that appears on email receipts sent for this invoice.", "type": [ "string" ] }, "starting_balance": { "description": "Starting customer balance before attempting to pay invoice. If the invoice has not been attempted yet, this will be the current customer balance.", "type": [ "integer" ] }, "statement_descriptor": { "description": "Extra information about an invoice for the customer's credit card statement.", "type": [ "string" ] }, "subscription": { "description": "The subscription that this invoice was prepared for, if any.", "type": [ "string" ] }, "subscription_proration_date": { "description": "Only set for upcoming invoices that preview prorations. The time used to calculate prorations.", "type": [ "integer" ] }, "subtotal": { "description": "Total of all subscriptions, invoice items, and prorations on the invoice before any discount is applied.", "type": [ "integer" ] }, "tax": { "description": "The amount of tax included in the total, calculated from `tax_percent` and the subtotal. If no `tax_percent` is defined, this value will be null.", "type": [ "integer" ] }, "tax_percent": { "description": "This percentage of the subtotal has been added to the total amount of the invoice, including invoice line items and discounts. This field is inherited from the subscription's `tax_percent` field, but can be changed before the invoice is paid. This field defaults to null.", "type": [ "number" ] }, "total": { "description": "Total after discount.", "type": [ "integer" ] }, "webhooks_delivered_at": { "description": "The time at which webhooks for this invoice were successfully delivered (if the invoice had no webhooks to deliver, this will match `date`). Invoice payment is delayed until webhooks are delivered, or until all webhook delivery attempts have been exhausted.", "type": [ "integer" ] } }, "required": [ "amount_due", "attempt_count", "attempted", "closed", "currency", "customer", "date", "forgiven", "id", "lines", "livemode", "object", "paid", "period_end", "period_start", "starting_balance", "subtotal", "total" ], "title": "Invoice", "type": [ "object" ], "x-resourceId": "invoice" }, "invoice_item": { "properties": { "amount": { "description": "", "type": [ "integer" ] }, "currency": { "description": "", "type": [ "string" ] }, "customer": { "description": "", "type": [ "string" ] }, "date": { "description": "", "type": [ "integer" ] }, "description": { "description": "", "type": [ "string" ] }, "discountable": { "description": "If true, discounts will apply to this invoice item. Always false for prorations.", "type": [ "boolean" ] }, "id": { "description": "", "type": [ "string" ] }, "invoice": { "description": "", "type": [ "string" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to an invoice item object. It can be useful for storing additional information about the invoice item in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] }, "period": { "description": "", "type": [ "object" ] }, "plan": { "$ref": "#/definitions/plan" }, "proration": { "description": "Whether or not the invoice item was created automatically as a proration adjustment when the customer switched plans.", "type": [ "boolean" ] }, "quantity": { "description": "If the invoice item is a proration, the quantity of the subscription that the proration was computed for.", "type": [ "integer" ] }, "subscription": { "description": "The subscription that this invoice item has been created for, if any.", "type": [ "string" ] }, "subscription_item": { "description": "", "type": [ "string" ] } }, "required": [ "amount", "currency", "customer", "date", "discountable", "id", "livemode", "metadata", "object", "proration" ], "title": "InvoiceItem", "type": [ "object" ], "x-resourceId": "invoice_item" }, "invoice_line_item": { "properties": { "amount": { "description": "The amount, in %s.", "type": [ "integer" ] }, "currency": { "description": "", "type": [ "string" ] }, "description": { "description": "A text description of the line item, if the line item is an invoice item.", "type": [ "string" ] }, "discountable": { "description": "If true, discounts will apply to this line item. Always false for prorations.", "type": [ "boolean" ] }, "id": { "description": "The ID of the source of this line item, either an invoice item or a subscription.", "type": [ "string" ] }, "livemode": { "description": "Whether or not this is a test line item.", "type": [ "boolean" ] }, "metadata": { "description": "Key-value pairs attached to object that underlies this line item (either subscription or invoice item).", "type": [ "object" ] }, "object": { "description": "The type of object. Always has the value \"line_item\".", "type": [ "string" ] }, "period": { "description": "The period this line_item covers. For subscription line items, this is the subscription period. For prorations, this starts when the proration was calculated, and ends at the period end of the subscription. For invoice items, this is the time at which the invoice item was created, so the period start and end are the same time.", "type": [ "object" ] }, "plan": { "$ref": "#/definitions/plan" }, "proration": { "description": "Whether or not this is a proration.", "type": [ "boolean" ] }, "quantity": { "description": "The quantity of the subscription, if the line item is a subscription or a proration.", "type": [ "integer" ] }, "subscription": { "description": "When type is `invoiceitem`, the subscription that the invoice item pertains to, if any. Left blank when `type` is already subscription, as it'd be redundant with `id`.", "type": [ "string" ] }, "subscription_item": { "description": "", "type": [ "string" ] }, "type": { "description": "A string identifying the type of the source of this line item, either an `invoiceitem` or a `subscription`.", "type": [ "string" ] } }, "required": [ "amount", "currency", "discountable", "id", "livemode", "metadata", "object", "period", "proration", "type" ], "title": "InvoiceLineItem", "type": [ "object" ], "x-resourceId": "invoice_line_item" }, "legacy_transfer": { "properties": { "amount": { "description": "Amount (in %s) to be transferred to your bank account.", "type": [ "integer" ] }, "amount_reversed": { "description": "Amount in %s reversed (can be less than the amount attribute on the transfer if a partial reversal was issued).", "type": [ "integer" ] }, "application_fee": { "description": "", "type": [ "string" ] }, "balance_transaction": { "description": "Balance transaction that describes the impact of this transfer on your account balance.", "type": [ "string" ] }, "created": { "description": "Time that this record of the transfer was first created.", "type": [ "integer" ] }, "currency": { "description": "", "type": [ "string" ] }, "date": { "description": "Date the transfer is scheduled to arrive in the bank. This factors in delays like weekends or bank holidays.", "type": [ "integer" ] }, "description": { "description": "Internal-only description of the transfer.", "type": [ "string" ] }, "destination": { "description": "ID of the bank account, card, or Stripe account the transfer was sent to.", "type": [ "string" ] }, "destination_payment": { "description": "If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer.", "type": [ "string" ] }, "failure_code": { "description": "Error code explaining reason for transfer failure if available. See [Types of transfer failures](/docs/api#transfer_failures) for a list of failure codes.", "type": [ "string" ] }, "failure_message": { "description": "Message to user further explaining reason for transfer failure if available.", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "legacy_date": { "description": "", "type": [ "integer" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a transfer object. It can be useful for storing additional information about the transfer in a structured format.", "type": [ "object" ] }, "method": { "description": "The method used to send this transfer, which can be `standard` or `instant`. `instant` is only supported for transfers to debit cards. (See [Instant payouts for marketplaces](/blog/instant-payouts-for-marketplaces) for more information.)", "type": [ "string" ] }, "object": { "description": "", "type": [ "string" ] }, "reversals": { "properties": { "data": { "items": { "$ref": "#/definitions/transfer_reversal" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "TransferReversalList", "type": [ "object" ] }, "reversed": { "description": "Whether or not the transfer has been fully reversed. If the transfer is only partially reversed, this attribute will still be false.", "type": [ "boolean" ] }, "source_transaction": { "description": "ID of the charge (or other transaction) that was used to fund the transfer. If null, the transfer was funded from the available balance.", "type": [ "string" ] }, "source_type": { "description": "The source balance this transfer came from. One of `card`, `bank_account`, `bitcoin_receiver`, or `alipay_account`.", "type": [ "string" ] }, "statement_descriptor": { "description": "Extra information about a transfer to be displayed on the user's bank statement.", "type": [ "string" ] }, "status": { "description": "Current status of the transfer (`paid`, `pending`, `in_transit`, `canceled` or `failed`). A transfer will be `pending` until it is submitted to the bank, at which point it becomes `in_transit`. It will then change to `paid` if the transaction goes through. If it does not go through successfully, its status will change to `failed` or `canceled`.", "type": [ "string" ] }, "transfer_group": { "description": "A string that identifies this transaction as part of a group. [See the Connect documentation](/docs/connect/transfer-group) for details.", "type": [ "string" ] }, "type": { "description": "Can be `card`, `bank_account`, or `stripe_account`.", "type": [ "string" ] } }, "required": [ "amount", "amount_reversed", "created", "currency", "date", "id", "livemode", "metadata", "object", "reversals", "reversed", "status", "type" ], "title": "LegacyTransfer", "type": [ "object" ], "x-resourceId": "legacy_transfer" }, "legal_entity": { "properties": { "additional_owners": { "$ref": "#/definitions/legal_entity_additional_owner" }, "address": { "$ref": "#/definitions/legal_entity_address" }, "address_kana": { "$ref": "#/definitions/legal_entity_japan_address" }, "address_kanji": { "$ref": "#/definitions/legal_entity_japan_address" }, "business_name": { "description": "The legal name of the company.", "type": [ "string" ] }, "business_name_kana": { "description": "The Kana variation of the legal name of the company (Japan only).", "type": [ "string" ] }, "business_name_kanji": { "description": "The Kanji variation of the legal name of the company (Japan only).", "type": [ "string" ] }, "business_tax_id_provided": { "description": "Whether the business ID number of the legal entity has been provided.", "type": [ "boolean" ] }, "business_vat_id_provided": { "description": "Whether the business VAT number of the legal entity has been provided.", "type": [ "boolean" ] }, "dob": { "$ref": "#/definitions/legal_entity_dob" }, "first_name": { "description": "The first name of the individual responsible for the account.", "type": [ "string" ] }, "first_name_kana": { "description": "The Kana variation of the first name of the individual responsible for the account (Japan only).", "type": [ "string" ] }, "first_name_kanji": { "description": "The Kanji variation of the first name of the individual responsible for the account (Japan only).", "type": [ "string" ] }, "gender": { "description": "The gender of the individual responsible for the account (International regulations require either \"male\" or \"female\").", "type": [ "string" ] }, "last_name": { "description": "The last name of the individual responsible for the account.", "type": [ "string" ] }, "last_name_kana": { "description": "The Kana varation of the last name of the individual responsible for the account (Japan only).", "type": [ "string" ] }, "last_name_kanji": { "description": "The Kanji varation of the last name of the individual responsible for the account (Japan only).", "type": [ "string" ] }, "maiden_name": { "description": "The maiden name of the individual responsible for the account.", "type": [ "string" ] }, "personal_address": { "$ref": "#/definitions/legal_entity_address" }, "personal_address_kana": { "$ref": "#/definitions/legal_entity_japan_address" }, "personal_address_kanji": { "$ref": "#/definitions/legal_entity_japan_address" }, "personal_id_number_provided": { "description": "Whether the personal id number of the individual responsible for the account has been provided.", "type": [ "boolean" ] }, "phone_number": { "description": "The phone number of the company, used for verification.", "type": [ "string" ] }, "ssn_last_4_provided": { "description": "Whether the last 4 ssn digits of the individual responsible for the account have been provided.", "type": [ "boolean" ] }, "type": { "description": "Either \"individual\" or \"company\", for what kind of legal entity the account owner is for.", "type": [ "string" ] }, "verification": { "$ref": "#/definitions/legal_entity_verification" } }, "required": [ "address", "business_tax_id_provided", "business_vat_id_provided", "dob", "personal_address", "personal_id_number_provided", "ssn_last_4_provided", "verification" ], "title": "LegalEntity", "type": [ "object" ], "x-resourceId": "legal_entity" }, "legal_entity_additional_owner": { "properties": { "address": { "$ref": "#/definitions/legal_entity_address" }, "dob": { "$ref": "#/definitions/legal_entity_dob" }, "first_name": { "description": "The first name of this additional owner.", "type": [ "string" ] }, "last_name": { "description": "The last name of this additional owner.", "type": [ "string" ] }, "verification": { "$ref": "#/definitions/legal_entity_verification" } }, "required": [ "address", "dob", "verification" ], "title": "LegalEntityAdditionalOwner", "type": [ "object" ], "x-resourceId": "legal_entity_additional_owner" }, "legal_entity_address": { "properties": { "city": { "description": "City/Suburb/Town/Village.", "type": [ "string" ] }, "country": { "description": "2-letter country code.", "type": [ "string" ] }, "line1": { "description": "Address line 1 (Street address/PO Box/Company name).", "type": [ "string" ] }, "line2": { "description": "Address line 2 (Apartment/Suite/Unit/Building).", "type": [ "string" ] }, "postal_code": { "description": "Zip/Postal Code.", "type": [ "string" ] }, "state": { "description": "State/Province/County.", "type": [ "string" ] } }, "title": "LegalEntityAddress", "type": [ "object" ], "x-resourceId": "legal_entity_address" }, "legal_entity_dob": { "properties": { "day": { "description": "The day of birth, between 1 and 31.", "type": [ "integer" ] }, "month": { "description": "The month of birth, between 1 and 12.", "type": [ "integer" ] }, "year": { "description": "The 4-digit year of birth.", "type": [ "integer" ] } }, "title": "LegalEntityDOB", "type": [ "object" ], "x-resourceId": "legal_entity_dob" }, "legal_entity_japan_address": { "properties": { "city": { "description": "City/Ward.", "type": [ "string" ] }, "country": { "description": "2-letter country code.", "type": [ "string" ] }, "line1": { "description": "Block/Building number.", "type": [ "string" ] }, "line2": { "description": "Building details.", "type": [ "string" ] }, "postal_code": { "description": "Zip/Postal Code.", "type": [ "string" ] }, "state": { "description": "Prefecture.", "type": [ "string" ] }, "town": { "description": "Town/cho-me.", "type": [ "string" ] } }, "title": "LegalEntityJapanAddress", "type": [ "object" ], "x-resourceId": "legal_entity_japan_address" }, "legal_entity_verification": { "properties": { "details": { "description": "A user-displayable string describing the verification state for this legal entity. For example, if a document is uploaded and the picture is too fuzzy, this may say \"Identity document is too unclear to read\".", "type": [ "string" ] }, "details_code": { "description": "One of `scan_corrupt`, `scan_not_readable`, `scan_failed_greyscale`, `scan_not_uploaded`, `scan_id_type_not_supported`, `scan_id_country_not_supported`, `scan_name_mismatch`, `scan_failed_other`, `failed_keyed_identity`, or `failed_other`. A machine-readable code specifying the verification state for this legal entity.", "type": [ "string" ] }, "document": { "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A photo (jpg or png) of an identifying document, either a passport or local ID card.", "type": [ "string" ] }, "status": { "description": "The state of verification for this legal entity. Possible values are unverified, pending, or verified.", "type": [ "string" ] } }, "required": [ "status" ], "title": "LegalEntityVerification", "type": [ "object" ], "x-resourceId": "legal_entity_verification" }, "order": { "properties": { "amount": { "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a 0-decimal currency) representing the total amount for the order.", "type": [ "integer" ] }, "amount_returned": { "description": "", "type": [ "integer" ] }, "application": { "description": "ID of the Connect Application that created the order.", "type": [ "string" ] }, "application_fee": { "description": "", "type": [ "integer" ] }, "charge": { "description": "The ID of the payment used to pay for the order. Present if the order status is `paid`, `fulfilled`, or `refunded`.", "type": [ "string" ] }, "created": { "description": "", "type": [ "integer" ] }, "currency": { "description": "3-letter [ISO code](https://support.stripe.com/questions/which-currencies-does-stripe-support) representing the currency in which the order was made.", "type": [ "string" ] }, "customer": { "description": "The customer used for the order.", "type": [ "string" ] }, "email": { "description": "The email address of the customer placing the order.", "type": [ "string" ] }, "external_coupon_code": { "description": "", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "items": { "$ref": "#/definitions/order_item" }, "livemode": { "description": "", "type": [ "boolean" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to an order object. It can be useful for storing additional information about the order in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] }, "returns": { "properties": { "data": { "items": { "$ref": "#/definitions/order_return" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "OrderReturnList", "type": [ "object" ] }, "selected_shipping_method": { "description": "The shipping method that is currently selected for this order, if any. If present, it is equal to one of the `id`s of shipping methods in the `shipping_methods` array. At order creation time, if there are multiple shipping methods, Stripe will automatically selected the first method.", "type": [ "string" ] }, "shipping": { "$ref": "#/definitions/shipping" }, "shipping_methods": { "$ref": "#/definitions/shipping_method" }, "status": { "description": "Current order status. One of `created`, `paid`, `canceled`, `fulfilled`, or `returned`. More detail in the [Relay API Overview](/docs/orders/guide#understanding-order-statuses).", "type": [ "string" ] }, "status_transitions": { "$ref": "#/definitions/status_transitions" }, "updated": { "description": "", "type": [ "integer" ] }, "upstream_id": { "description": "The merchant's order ID if it is different from the Stripe order ID.", "type": [ "string" ] } }, "required": [ "amount", "created", "currency", "id", "items", "livemode", "metadata", "object", "status" ], "title": "Order", "type": [ "object" ], "x-resourceId": "order" }, "order_item": { "properties": { "amount": { "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a 0-decimal currency) representing the total amount for the line item.", "type": [ "integer" ] }, "currency": { "description": "3-letter [ISO code](https://support.stripe.com/questions/which-currencies-does-stripe-support) representing the currency of the line item.", "type": [ "string" ] }, "description": { "description": "Description of the line item, meant to be displayable to the user (e.g., `\"Express shipping\"`).", "type": [ "string" ] }, "object": { "description": "", "type": [ "string" ] }, "parent": { "description": "The ID of the associated object for this line item. Expandable if not null (e.g., expandable to a SKU).", "type": [ "string" ] }, "quantity": { "description": "A positive integer representing the number of instances of `parent` that are included in this order item. Applicable/present only if `type` is `sku`.", "type": [ "integer" ] }, "type": { "description": "The type of line item. One of `sku`, `tax`, `shipping`, or `discount`.", "type": [ "string" ] } }, "required": [ "amount", "currency", "description", "object", "type" ], "title": "OrderItem", "type": [ "object" ], "x-resourceId": "order_item" }, "order_management_settings": { "properties": { "provider": { "description": "", "type": [ "string" ] }, "type": { "description": "", "type": [ "string" ] } }, "required": [ "type" ], "title": "OrderManagementSettings", "type": [ "object" ], "x-resourceId": "order_management_settings" }, "order_return": { "properties": { "amount": { "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a 0-decimal currency) representing the total amount for the returned line item.", "type": [ "integer" ] }, "created": { "description": "", "type": [ "integer" ] }, "currency": { "description": "3-letter [ISO code](https://support.stripe.com/questions/which-currencies-does-stripe-support) representing the currency of the return.", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "items": { "$ref": "#/definitions/order_item" }, "livemode": { "description": "", "type": [ "boolean" ] }, "object": { "description": "", "type": [ "string" ] }, "order": { "description": "The order that this return includes items from.", "type": [ "string" ] }, "refund": { "description": "The ID of the refund issued for this return.", "type": [ "string" ] } }, "required": [ "amount", "created", "currency", "id", "items", "livemode", "object" ], "title": "OrderReturn", "type": [ "object" ], "x-resourceId": "order_return" }, "package_dimensions": { "properties": { "height": { "description": "Height, in inches.", "type": [ "number" ] }, "length": { "description": "Length, in inches.", "type": [ "number" ] }, "weight": { "description": "Weight, in ounces.", "type": [ "number" ] }, "width": { "description": "Width, in inches.", "type": [ "number" ] } }, "required": [ "height", "length", "weight", "width" ], "title": "PackageDimensions", "type": [ "object" ], "x-resourceId": "package_dimensions" }, "payment_bank_account": { "properties": { "account_holder_name": { "description": "The name of the person or business that owns the bank account.", "type": [ "string" ] }, "account_holder_type": { "description": "The type of entity that holds the account. This can be either `individual` or `company`.", "type": [ "string" ] }, "address_city": { "description": "", "type": [ "string" ] }, "address_line1": { "description": "", "type": [ "string" ] }, "address_line2": { "description": "", "type": [ "string" ] }, "address_state": { "description": "", "type": [ "string" ] }, "address_zip": { "description": "", "type": [ "string" ] }, "bank_name": { "description": "Name of the bank associated with the routing number, e.g. `WELLS FARGO`.", "type": [ "string" ] }, "country": { "description": "Two-letter ISO code representing the country the bank account is located in.", "type": [ "string" ] }, "currency": { "description": "Three-letter ISO currency code representing the currency paid out to the bank account.", "type": [ "string" ] }, "customer": { "description": "", "type": [ "string" ] }, "customer_reference": { "description": "", "type": [ "string" ] }, "fingerprint": { "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "last4": { "description": "", "type": [ "string" ] }, "metadata": { "description": "", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] }, "reusable": { "description": "", "type": [ "boolean" ] }, "routing_number": { "description": "The routing transit number for the bank account.", "type": [ "string" ] }, "status": { "description": "Possible values are `new`, `validated`, `verified`, `verification_failed`, or `errored`. A bank account that hasn't had any activity or validation performed is `new`. If Stripe can determine that the bank account exists, its status will be `validated`. Note that there often isn’t enough information to know (e.g. for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be `verified`. If the verification failed for any reason, such as microdeposit failure, the status will be `verification_failed`. If a transfer sent to this bank account fails, we'll set the status to `errored` and will not continue to send transfers until the bank details are updated.", "type": [ "string" ] }, "used": { "description": "", "type": [ "boolean" ] } }, "required": [ "country", "currency", "id", "last4", "metadata", "object", "status" ], "title": "PaymentBankAccount", "type": [ "object" ], "x-resourceId": "payment_bank_account" }, "payment_card": { "properties": { "address_city": { "description": "", "type": [ "string" ] }, "address_country": { "description": "Billing address country, if provided when creating card.", "type": [ "string" ] }, "address_line1": { "description": "", "type": [ "string" ] }, "address_line1_check": { "description": "If `address_line1` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.", "type": [ "string" ] }, "address_line2": { "description": "", "type": [ "string" ] }, "address_state": { "description": "", "type": [ "string" ] }, "address_zip": { "description": "", "type": [ "string" ] }, "address_zip_check": { "description": "If `address_zip` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.", "type": [ "string" ] }, "brand": { "description": "Card brand. Can be `Visa`, `American Express`, `MasterCard`, `Discover`, `JCB`, `Diners Club`, or `Unknown`.", "type": [ "string" ] }, "country": { "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.", "type": [ "string" ] }, "customer": { "description": "", "type": [ "string" ] }, "cvc_check": { "description": "If a CVC was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.", "type": [ "string" ] }, "dynamic_last4": { "description": "(For tokenized numbers only.) The last four digits of the device account number.", "type": [ "string" ] }, "exp_month": { "description": "", "type": [ "integer" ] }, "exp_year": { "description": "", "type": [ "integer" ] }, "fingerprint": { "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example.", "type": [ "string" ] }, "funding": { "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.", "type": [ "string" ] }, "google_reference": { "description": "", "type": [ "string" ] }, "id": { "description": "ID of card (used in conjunction with a customer or recipient ID).", "type": [ "string" ] }, "last4": { "description": "", "type": [ "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a card object. It can be useful for storing additional information about the card in a structured format.", "type": [ "object" ] }, "name": { "description": "Cardholder name.", "type": [ "string" ] }, "object": { "description": "", "type": [ "string" ] }, "three_d_secure": { "description": "", "type": [ "object" ] }, "tokenization_method": { "description": "If the card number is tokenized, this is the method that was used. Can be `apple_pay` or `android_pay`.", "type": [ "string" ] } }, "required": [ "brand", "exp_month", "exp_year", "funding", "id", "last4", "metadata", "object" ], "title": "PaymentCard", "type": [ "object" ], "x-resourceId": "payment_card" }, "plan": { "properties": { "amount": { "description": "The amount in %s to be charged on the interval specified.", "type": [ "integer" ] }, "created": { "description": "", "type": [ "integer" ] }, "currency": { "description": "Currency in which subscription will be charged.", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "interval": { "description": "One of `day`, `week`, `month` or `year`. The frequency with which a subscription should be billed.", "type": [ "string" ] }, "interval_count": { "description": "The number of intervals (specified in the `interval` property) between each subscription billing. For example, `interval=month` and `interval_count=3` bills every 3 months.", "type": [ "integer" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a plan object. It can be useful for storing additional information about the plan in a structured format.", "type": [ "object" ] }, "name": { "description": "Display name of the plan.", "type": [ "string" ] }, "object": { "description": "", "type": [ "string" ] }, "statement_descriptor": { "description": "Extra information about a charge for the customer's credit card statement.", "type": [ "string" ] }, "trial_period_days": { "description": "Number of trial period days granted when subscribing a customer to this plan. Null if the plan has no trial period.", "type": [ "integer" ] } }, "required": [ "amount", "created", "currency", "id", "interval", "interval_count", "livemode", "metadata", "name", "object" ], "title": "Plan", "type": [ "object" ], "x-resourceId": "plan" }, "platform_earning": { "properties": { "account": { "description": "ID of the Stripe account this fee was taken from.", "type": [ "string" ] }, "amount": { "description": "Amount earned, in %s.", "type": [ "integer" ] }, "amount_refunded": { "description": "Amount in %s refunded (can be less than the amount attribute on the fee if a partial refund was issued)", "type": [ "integer" ] }, "application": { "description": "ID of the Connect application that earned the fee.", "type": [ "string" ] }, "balance_transaction": { "description": "Balance transaction that describes the impact of this collected application fee on your account balance (not including refunds).", "type": [ "string" ] }, "charge": { "description": "ID of the charge that the application fee was taken from.", "type": [ "string" ] }, "created": { "description": "", "type": [ "integer" ] }, "currency": { "description": "Three-letter ISO code representing the currency of the charge.", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "object": { "description": "", "type": [ "string" ] }, "originating_transaction": { "description": "ID of the corresponding charge on the platform account, if this fee was the result of a charge using the `destination` parameter.", "type": [ "string" ] }, "refunded": { "description": "Whether or not the fee has been fully refunded. If the fee is only partially refunded, this attribute will still be false.", "type": [ "boolean" ] }, "refunds": { "properties": { "data": { "items": { "$ref": "#/definitions/fee_refund" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "FeeRefundList", "type": [ "object" ] } }, "required": [ "account", "amount", "amount_refunded", "application", "balance_transaction", "charge", "created", "currency", "id", "livemode", "object", "refunded", "refunds" ], "title": "PlatformEarning", "type": [ "object" ], "x-resourceId": "platform_earning" }, "product": { "properties": { "active": { "description": "Whether or not the product is currently available for purchase.", "type": [ "boolean" ] }, "attributes": { "description": "A list of up to 5 attributes that each SKU can provide values for (e.g. `[\"color\", \"size\"]`).", "type": [ "array" ] }, "caption": { "description": "A short one-line description of the product, meant to be displayable to the customer.", "type": [ "string" ] }, "created": { "description": "", "type": [ "integer" ] }, "deactivate_on": { "description": "An array of connect application identifiers that cannot purchase this product.", "type": [ "array" ] }, "description": { "description": "The product's description, meant to be displayable to the customer.", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "images": { "description": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer.", "type": [ "array" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a product object. It can be useful for storing additional information about the product in a structured format.", "type": [ "object" ] }, "name": { "description": "The product's name, meant to be displayable to the customer.", "type": [ "string" ] }, "object": { "description": "", "type": [ "string" ] }, "package_dimensions": { "$ref": "#/definitions/package_dimensions" }, "shippable": { "description": "Whether this product is a shipped good.", "type": [ "boolean" ] }, "skus": { "properties": { "data": { "items": { "$ref": "#/definitions/sku" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "SKUList", "type": [ "object" ] }, "updated": { "description": "", "type": [ "integer" ] }, "url": { "description": "A URL of a publicly-accessible webpage for this product.", "type": [ "string" ] } }, "required": [ "active", "created", "id", "images", "livemode", "metadata", "name", "object", "shippable", "skus", "updated" ], "title": "Product", "type": [ "object" ], "x-resourceId": "product" }, "recipient_payout_bank_account": { "properties": { "account_holder_name": { "description": "The name of the person or business that owns the bank account.", "type": [ "string" ] }, "account_holder_type": { "description": "The type of entity that holds the account. This can be either `individual` or `company`.", "type": [ "string" ] }, "address_city": { "description": "", "type": [ "string" ] }, "address_line1": { "description": "", "type": [ "string" ] }, "address_line2": { "description": "", "type": [ "string" ] }, "address_state": { "description": "", "type": [ "string" ] }, "address_zip": { "description": "", "type": [ "string" ] }, "allows_debits": { "description": "", "type": [ "boolean" ] }, "bank_name": { "description": "Name of the bank associated with the routing number, e.g. `WELLS FARGO`.", "type": [ "string" ] }, "country": { "description": "Two-letter ISO code representing the country the bank account is located in.", "type": [ "string" ] }, "currency": { "description": "Three-letter ISO currency code representing the currency paid out to the bank account.", "type": [ "string" ] }, "fingerprint": { "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "last4": { "description": "", "type": [ "string" ] }, "object": { "description": "", "type": [ "string" ] }, "reusable": { "description": "", "type": [ "boolean" ] }, "routing_number": { "description": "The routing transit number for the bank account.", "type": [ "string" ] }, "status": { "description": "Possible values are `new`, `validated`, `verified`, `verification_failed`, or `errored`. A bank account that hasn't had any activity or validation performed is `new`. If Stripe can determine that the bank account exists, its status will be `validated`. Note that there often isn’t enough information to know (e.g. for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be `verified`. If the verification failed for any reason, such as microdeposit failure, the status will be `verification_failed`. If a transfer sent to this bank account fails, we'll set the status to `errored` and will not continue to send transfers until the bank details are updated.", "type": [ "string" ] }, "used": { "description": "", "type": [ "boolean" ] } }, "required": [ "country", "currency", "id", "last4", "object", "status" ], "title": "RecipientPayoutBankAccount", "type": [ "object" ], "x-resourceId": "recipient_payout_bank_account" }, "recipient_payout_card": { "properties": { "address_city": { "description": "", "type": [ "string" ] }, "address_country": { "description": "Billing address country, if provided when creating card.", "type": [ "string" ] }, "address_line1": { "description": "", "type": [ "string" ] }, "address_line1_check": { "description": "If `address_line1` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.", "type": [ "string" ] }, "address_line2": { "description": "", "type": [ "string" ] }, "address_state": { "description": "", "type": [ "string" ] }, "address_zip": { "description": "", "type": [ "string" ] }, "address_zip_check": { "description": "If `address_zip` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.", "type": [ "string" ] }, "brand": { "description": "Card brand. Can be `Visa`, `American Express`, `MasterCard`, `Discover`, `JCB`, `Diners Club`, or `Unknown`.", "type": [ "string" ] }, "country": { "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.", "type": [ "string" ] }, "cvc_check": { "description": "If a CVC was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.", "type": [ "string" ] }, "dynamic_last4": { "description": "(For tokenized numbers only.) The last four digits of the device account number.", "type": [ "string" ] }, "estimated_availability": { "description": "", "type": [ "string" ] }, "exp_month": { "description": "", "type": [ "integer" ] }, "exp_year": { "description": "", "type": [ "integer" ] }, "fingerprint": { "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example.", "type": [ "string" ] }, "funding": { "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.", "type": [ "string" ] }, "google_reference": { "description": "", "type": [ "string" ] }, "id": { "description": "ID of card (used in conjunction with a customer or recipient ID).", "type": [ "string" ] }, "last4": { "description": "", "type": [ "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a card object. It can be useful for storing additional information about the card in a structured format.", "type": [ "object" ] }, "name": { "description": "Cardholder name.", "type": [ "string" ] }, "object": { "description": "", "type": [ "string" ] }, "recipient": { "description": "", "type": [ "string" ] }, "three_d_secure": { "description": "", "type": [ "object" ] }, "tokenization_method": { "description": "If the card number is tokenized, this is the method that was used. Can be `apple_pay` or `android_pay`.", "type": [ "string" ] } }, "required": [ "brand", "exp_month", "exp_year", "funding", "id", "last4", "metadata", "object" ], "title": "RecipientPayoutCard", "type": [ "object" ], "x-resourceId": "recipient_payout_card" }, "refund": { "properties": { "amount": { "description": "Amount, in %s.", "type": [ "integer" ] }, "balance_transaction": { "description": "Balance transaction that describes the impact on your account balance.", "type": [ "string" ] }, "charge": { "description": "ID of the charge that was refunded.", "type": [ "string" ] }, "created": { "description": "", "type": [ "integer" ] }, "currency": { "description": "Three-letter ISO code representing the currency.", "type": [ "string" ] }, "description": { "description": "", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to the object. It can be useful for storing additional information in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] }, "reason": { "description": "Reason for the refund. If set, possible values are `duplicate`, `fraudulent`, and `requested_by_customer`.", "type": [ "string" ] }, "receipt_number": { "description": "This is the transaction number that appears on email receipts sent for this refund.", "type": [ "string" ] }, "status": { "description": "Status of the refund. For credit card refunds, this will always be `succeeded`. For other types of refunds, it can be `pending`, `succeeded`, `failed`, or `cancelled`.", "type": [ "string" ] } }, "required": [ "amount", "created", "currency", "id", "metadata", "object" ], "title": "Refund", "type": [ "object" ], "x-resourceId": "refund" }, "settings": { "properties": { "authorization": { "$ref": "#/definitions/authorization_settings" }, "channels": { "$ref": "#/definitions/channel_settings" }, "create_order_hook_url": { "description": "URL that Stripe will call to prepare an order at creation time. Present when shipping type, taxes, or order_management type is `dynamic`.", "type": [ "string" ] }, "order_management": { "$ref": "#/definitions/order_management_settings" }, "pay_order_hook_url": { "description": "URL that Stripe will call to place an order at payment time. Present when order_management type is `dynamic`, or authorization type is `combined`.", "type": [ "string" ] }, "shipping": { "$ref": "#/definitions/shipping_settings" }, "taxes": { "$ref": "#/definitions/tax_settings" } }, "required": [ "authorization", "channels", "order_management", "shipping", "taxes" ], "title": "Settings", "type": [ "object" ], "x-resourceId": "settings" }, "shipping": { "properties": { "address": { "$ref": "#/definitions/address" }, "carrier": { "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.", "type": [ "string" ] }, "name": { "description": "Recipient name.", "type": [ "string" ] }, "phone": { "description": "Recipient phone (including extension).", "type": [ "string" ] }, "tracking_number": { "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.", "type": [ "string" ] } }, "required": [ "address", "name" ], "title": "Shipping", "type": [ "object" ], "x-resourceId": "shipping" }, "shipping_method": { "properties": { "amount": { "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a 0-decimal currency) representing the total amount for the line item.", "type": [ "integer" ] }, "currency": { "description": "3-letter [ISO code](https://support.stripe.com/questions/which-currencies-does-stripe-support) representing the currency of the line item.", "type": [ "string" ] }, "delivery_estimate": { "$ref": "#/definitions/delivery_estimate" }, "description": { "description": "Description of the line item, meant to be displayable to the user (e.g., `\"Express shipping\"`).", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] } }, "required": [ "amount", "currency", "description", "id" ], "title": "ShippingMethod", "type": [ "object" ], "x-resourceId": "shipping_method" }, "shipping_settings": { "properties": { "amount": { "description": "", "type": [ "integer" ] }, "currency": { "description": "Currency in which shipping cost will be assessed. Present when `type` is `flat_rate`.", "type": [ "string" ] }, "description": { "description": "", "type": [ "string" ] }, "free_above": { "description": "The order amount (before taxes are calculated) above which shipping is free.", "type": [ "integer" ] }, "from_address": { "$ref": "#/definitions/address" }, "from_name": { "description": "Sender name to use when shipping through a provider. Present when `type` is `provider`.", "type": [ "string" ] }, "provider": { "description": "Shipping provider to use (eg, \"USPS\"). Present when `type` is `provider`.", "type": [ "string" ] }, "provider_url": { "description": "The provider's URL used to calculate shipping rates. If present, `type` must be `provider`.", "type": [ "string" ] }, "rates": { "$ref": "#/definitions/shipping_settings_rate" }, "type": { "description": "Shipping plan type. One of `free`, `flat_rate`, `provider`, `dynamic`.", "type": [ "string" ] } }, "required": [ "type" ], "title": "ShippingSettings", "type": [ "object" ], "x-resourceId": "shipping_settings" }, "shipping_settings_rate": { "properties": { "amount": { "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a 0-decimal currency) representing the total amount for the line item.", "type": [ "integer" ] }, "currency": { "description": "3-letter [ISO code](https://support.stripe.com/questions/which-currencies-does-stripe-support) representing the currency of the line item.", "type": [ "string" ] }, "description": { "description": "Description of the line item, meant to be displayable to the user (e.g., `\"Express shipping\"`).", "type": [ "string" ] } }, "required": [ "amount", "currency", "description" ], "title": "ShippingSettingsRate", "type": [ "object" ], "x-resourceId": "shipping_settings_rate" }, "sku": { "properties": { "active": { "description": "Whether or not the SKU is available for purchase.", "type": [ "boolean" ] }, "attributes": { "description": "A dictionary of attributes and values for the attributes defined by the product. If, for example, a product's attributes are `[\"size\", \"gender\"]`, a valid SKU has the following dictionary of attributes: `{\"size\": \"Medium\", \"gender\": \"Unisex\"}`.", "type": [ "object" ] }, "created": { "description": "", "type": [ "integer" ] }, "currency": { "description": "3-letter [ISO code](https://support.stripe.com/questions/which-currencies-does-stripe-support) for currency.", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "image": { "description": "The URL of an image for this SKU, meant to be displayable to the customer.", "type": [ "string" ] }, "inventory": { "$ref": "#/definitions/inventory" }, "livemode": { "description": "", "type": [ "boolean" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a SKU object. It can be useful for storing additional information about the SKU in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] }, "package_dimensions": { "$ref": "#/definitions/package_dimensions" }, "price": { "description": "The cost of the item as a positive integer in the smallest currency unit (that is, 100 cents to charge $1.00, or 100 to charge ¥100, Japanese Yen being a 0-decimal currency).", "type": [ "integer" ] }, "product": { "description": "The ID of the product this SKU is associated with. The product must be currently active.", "type": [ "string" ] }, "updated": { "description": "", "type": [ "integer" ] } }, "required": [ "active", "attributes", "created", "currency", "id", "inventory", "livemode", "metadata", "object", "price", "product", "updated" ], "title": "SKU", "type": [ "object" ], "x-resourceId": "sku" }, "source": { "properties": { "amount": { "description": "Amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for `single-use` sources.", "type": [ "integer" ] }, "client_secret": { "description": "The client secret of the source. Used for client-side polling using a publishable key.", "type": [ "string" ] }, "code_verification": { "$ref": "#/definitions/source_code_verification_flow" }, "created": { "description": "", "type": [ "integer" ] }, "currency": { "description": "The currency associated with the source. This is the currency for which the source will be chargeable once ready. Required for `single-use` sources.", "type": [ "string" ] }, "flow": { "description": "The authentication `flow` of the source. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`.", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a source object. It can be useful for storing additional information about the source in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] }, "owner": { "$ref": "#/definitions/source_owner" }, "receiver": { "$ref": "#/definitions/source_receiver_flow" }, "redirect": { "$ref": "#/definitions/source_redirect_flow" }, "status": { "description": "The status of the charge. `status` is one of `pending`, `chargeable`, `consumed`, `canceled`. Only `chargeable` source objects can be used to create a charge.", "type": [ "string" ] }, "type": { "description": "The `type` of the source. The `type` is a payment method, one of `card`, `three_d_secure`, `giropay`, `sepa_debit`, `ideal`, `sofort`, or `bancontact`.", "type": [ "string" ] }, "usage": { "description": "One of `reusable`, `single-use`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while other may leave the option at creation. If an incompatible value is passed, an error will be returned.", "type": [ "string" ] } }, "required": [ "client_secret", "created", "flow", "id", "livemode", "object", "status", "type" ], "title": "Source", "type": [ "object" ], "x-resourceId": "source" }, "source_code_verification_flow": { "properties": { "attempts_remaining": { "description": "The number of attempts remaining to authenticate the source object with a verification code.", "type": [ "integer" ] }, "status": { "description": "The status of the code verification, either `pending`, `succeeded` or `failed`.", "type": [ "string" ] } }, "required": [ "attempts_remaining", "status" ], "title": "SourceCodeVerificationFlow", "type": [ "object" ], "x-resourceId": "source_code_verification_flow" }, "source_owner": { "properties": { "address": { "$ref": "#/definitions/address" }, "email": { "description": "Owner's email address.", "type": [ "string" ] }, "name": { "description": "Owner's full name.", "type": [ "string" ] }, "phone": { "description": "Owner's phone number (including extension).", "type": [ "string" ] }, "verified_address": { "$ref": "#/definitions/address" }, "verified_email": { "description": "Verified owner's email address.", "type": [ "string" ] }, "verified_name": { "description": "Verified owner's full name.", "type": [ "string" ] }, "verified_phone": { "description": "Verified owner's phone number (including extension).", "type": [ "string" ] } }, "title": "SourceOwner", "type": [ "object" ], "x-resourceId": "source_owner" }, "source_receiver_flow": { "properties": { "address": { "description": "The address of the receiver source. This is the value that should be communicated to the customer to send their funds to.", "type": [ "string" ] }, "amount_charged": { "description": "The total amount that was charged by you. The amount charged is expressed in the source's currency.", "type": [ "integer" ] }, "amount_received": { "description": "The total amount received by the receiver source. `amount_received = amount_returned + amount_charged` is true at all time. The amount received is expressed in the source's currency.", "type": [ "integer" ] }, "amount_returned": { "description": "The total amount that was returned to the customer. The amount returned is expressed in the source's currency.", "type": [ "integer" ] } }, "required": [ "amount_charged", "amount_received", "amount_returned" ], "title": "SourceReceiverFlow", "type": [ "object" ], "x-resourceId": "source_receiver_flow" }, "source_redirect_flow": { "properties": { "return_url": { "description": "The URL you provide to redirect the customer to after they authenticated their payment.", "type": [ "string" ] }, "status": { "description": "The status of the redirect, either `pending`, `succeeded` or `failed`.", "type": [ "string" ] }, "url": { "description": "The URL provided to you to redirect a customer to as part of a `redirect` authentication flow.", "type": [ "string" ] } }, "required": [ "return_url", "status", "url" ], "title": "SourceRedirectFlow", "type": [ "object" ], "x-resourceId": "source_redirect_flow" }, "status_transitions": { "properties": { "canceled": { "description": "", "type": [ "integer" ] }, "fulfiled": { "description": "", "type": [ "integer" ] }, "paid": { "description": "", "type": [ "integer" ] }, "returned": { "description": "", "type": [ "integer" ] } }, "title": "StatusTransitions", "type": [ "object" ], "x-resourceId": "status_transitions" }, "subscription": { "properties": { "account_balance": { "description": "", "type": [ "integer" ] }, "application_fee_percent": { "description": "A positive decimal that represents the fee percentage of the subscription invoice amount that will be transferred to the application owner's Stripe account each billing period.", "type": [ "number" ] }, "billing": { "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions.", "type": [ "string" ] }, "cancel_at_period_end": { "description": "If the subscription has been canceled with the `at_period_end` flag set to `true`, `cancel_at_period_end` on the subscription will be true. You can use this attribute to determine whether a subscription that has a status of active is scheduled to be canceled at the end of the current period.", "type": [ "boolean" ] }, "canceled_at": { "description": "If the subscription has been canceled, the date of that cancellation. If the subscription was canceled with `cancel_at_period_end`, canceled_at will still reflect the date of the initial cancellation request, not the end of the subscription period when the subscription is automatically moved to a canceled state.", "type": [ "integer" ] }, "created": { "description": "", "type": [ "integer" ] }, "current_period_end": { "description": "End of the current period that the subscription has been invoiced for. At the end of this period, a new invoice will be created.", "type": [ "integer" ] }, "current_period_start": { "description": "Start of the current period that the subscription has been invoiced for.", "type": [ "integer" ] }, "customer": { "description": "ID of the customer who owns the subscription.", "type": [ "string" ] }, "days_until_due": { "description": "Number of days a customer has to pay invoices generated by this subscription.", "type": [ "integer" ] }, "discount": { "$ref": "#/definitions/discount" }, "ended_at": { "description": "If the subscription has ended (either because it was canceled or because the customer was switched to a subscription to a new plan), the date the subscription ended.", "type": [ "integer" ] }, "id": { "description": "", "type": [ "string" ] }, "items": { "properties": { "data": { "items": { "$ref": "#/definitions/subscription_item" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "SubscriptionItemList", "type": [ "object" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "max_occurrences": { "description": "", "type": [ "integer" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a subscription object. It can be useful for storing additional information about the subscription in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] }, "plan": { "$ref": "#/definitions/plan" }, "quantity": { "description": "The quantity of the plan to which the customer should be subscribed. For example, if your plan is $10/user/month, and your customer has 5 users, you could pass 5 as the quantity to have the customer charged $50 (5 x $10) monthly.", "type": [ "integer" ] }, "retains_own_balance": { "description": "", "type": [ "boolean" ] }, "start": { "description": "Date the most recent update to this subscription started.", "type": [ "integer" ] }, "status": { "description": "Possible values are `trialing`, `active`, `past_due`, `canceled`, or `unpaid`. A subscription still in its trial period is `trialing` and moves to `active` when the trial period is over. When payment to renew the subscription fails, the subscription becomes `past_due`. After Stripe has exhausted all payment retry attempts, the subscription ends up with a status of either `canceled` or `unpaid` depending on your retry settings. Note that when a subscription has a status of `unpaid`, no subsequent invoices will be attempted (invoices will be created, but then immediately automatically closed. Additionally, updating customer card details will not lead to Stripe retrying the latest invoice.). After receiving updated card details from a customer, you may choose to reopen and pay their closed invoices.", "type": [ "string" ] }, "tax_percent": { "description": "If provided, each invoice created by this subscription will apply the tax rate, increasing the amount billed to the customer.", "type": [ "number" ] }, "trial_end": { "description": "If the subscription has a trial, the end of that trial.", "type": [ "integer" ] }, "trial_start": { "description": "If the subscription has a trial, the beginning of that trial.", "type": [ "integer" ] } }, "required": [ "cancel_at_period_end", "created", "customer", "id", "livemode", "metadata", "object", "start", "status" ], "title": "Subscription", "type": [ "object" ], "x-resourceId": "subscription" }, "subscription_item": { "properties": { "created": { "description": "", "type": [ "integer" ] }, "id": { "description": "", "type": [ "string" ] }, "object": { "description": "", "type": [ "string" ] }, "plan": { "$ref": "#/definitions/plan" }, "quantity": { "description": "The [quantity](/docs/subscriptions/quantities) of the plan to which the customer should be subscribed.", "type": [ "integer" ] } }, "required": [ "created", "id", "object", "plan", "quantity" ], "title": "SubscriptionItem", "type": [ "object" ], "x-resourceId": "subscription_item" }, "tax_settings": { "properties": { "description": { "description": "", "type": [ "string" ] }, "provider": { "description": "Tax provider to use. Present when `type` is `provider`.", "type": [ "string" ] }, "provider_url": { "description": "The provider's URL used to calculate taxes. If present, `type` must be `provider`.", "type": [ "string" ] }, "rate": { "description": "Tax rate, expressed as a percentage. Present when `type` is `percentage`.", "type": [ "number" ] }, "type": { "description": "Tax plan type. One of `included`, `flat_rate`, `provider`, `dynamic`.", "type": [ "string" ] } }, "required": [ "type" ], "title": "TaxSettings", "type": [ "object" ], "x-resourceId": "tax_settings" }, "three_d_secure": { "properties": { "amount": { "description": "", "type": [ "integer" ] }, "authenticated": { "description": "True if the cardholder went through the authentication flow and their bank indicated that authentication succeeded.", "type": [ "boolean" ] }, "card": { "$ref": "#/definitions/payment_card" }, "created": { "description": "", "type": [ "integer" ] }, "currency": { "description": "", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "object": { "description": "", "type": [ "string" ] }, "redirect_url": { "description": "If present, this is the URL that you should send the cardholder to for authentication. If you are going to use Stripe.js to display the authentication page in an iframe, you should use the value \"_callback\".", "type": [ "string" ] }, "status": { "description": "Possible values are `redirect_pending`, `succeeded`, or `failed`. When the cardholder can be authenticated, the object starts with status `redirect_pending`. When liability will be shifted to the cardholder's bank (either because the cardholder was successfully authenticated, or because the bank has not implemented 3D Secure, the object wlil be in status `succeeded`. `failed` indicates that authentication was attempted unsuccessfully.", "type": [ "string" ] } }, "required": [ "amount", "authenticated", "card", "created", "currency", "id", "livemode", "object", "status" ], "title": "ThreeDSecure", "type": [ "object" ], "x-resourceId": "three_d_secure" }, "token": { "properties": { "bank_account": { "$ref": "#/definitions/token_bank_account" }, "card": { "$ref": "#/definitions/token_card" }, "client_ip": { "description": "IP address of the client that generated the token.", "type": [ "string" ] }, "created": { "description": "", "type": [ "integer" ] }, "id": { "description": "", "type": [ "string" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "object": { "description": "", "type": [ "string" ] }, "type": { "description": "Type of the token: `card` or `bank_account`.", "type": [ "string" ] }, "usage": { "description": "", "type": [ "string" ] }, "used": { "description": "Whether or not this token has already been used (tokens can be used only once).", "type": [ "boolean" ] } }, "required": [ "created", "id", "livemode", "object", "type", "used" ], "title": "Token", "type": [ "object" ], "x-resourceId": "token" }, "token_bank_account": { "properties": { "account_holder_name": { "description": "The name of the person or business that owns the bank account.", "type": [ "string" ] }, "account_holder_type": { "description": "The type of entity that holds the account. This can be either `individual` or `company`.", "type": [ "string" ] }, "address_city": { "description": "", "type": [ "string" ] }, "address_line1": { "description": "", "type": [ "string" ] }, "address_line2": { "description": "", "type": [ "string" ] }, "address_state": { "description": "", "type": [ "string" ] }, "address_zip": { "description": "", "type": [ "string" ] }, "allows_debits": { "description": "", "type": [ "boolean" ] }, "bank_name": { "description": "Name of the bank associated with the routing number, e.g. `WELLS FARGO`.", "type": [ "string" ] }, "country": { "description": "Two-letter ISO code representing the country the bank account is located in.", "type": [ "string" ] }, "currency": { "description": "Three-letter ISO currency code representing the currency paid out to the bank account.", "type": [ "string" ] }, "fingerprint": { "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "last4": { "description": "", "type": [ "string" ] }, "object": { "description": "", "type": [ "string" ] }, "reusable": { "description": "", "type": [ "boolean" ] }, "routing_number": { "description": "The routing transit number for the bank account.", "type": [ "string" ] }, "status": { "description": "Possible values are `new`, `validated`, `verified`, `verification_failed`, or `errored`. A bank account that hasn't had any activity or validation performed is `new`. If Stripe can determine that the bank account exists, its status will be `validated`. Note that there often isn’t enough information to know (e.g. for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be `verified`. If the verification failed for any reason, such as microdeposit failure, the status will be `verification_failed`. If a transfer sent to this bank account fails, we'll set the status to `errored` and will not continue to send transfers until the bank details are updated.", "type": [ "string" ] }, "used": { "description": "", "type": [ "boolean" ] } }, "required": [ "country", "currency", "id", "last4", "object", "status" ], "title": "TokenBankAccount", "type": [ "object" ], "x-resourceId": "token_bank_account" }, "token_card": { "properties": { "address_city": { "description": "", "type": [ "string" ] }, "address_country": { "description": "Billing address country, if provided when creating card.", "type": [ "string" ] }, "address_line1": { "description": "", "type": [ "string" ] }, "address_line1_check": { "description": "If `address_line1` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.", "type": [ "string" ] }, "address_line2": { "description": "", "type": [ "string" ] }, "address_state": { "description": "", "type": [ "string" ] }, "address_zip": { "description": "", "type": [ "string" ] }, "address_zip_check": { "description": "If `address_zip` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.", "type": [ "string" ] }, "brand": { "description": "Card brand. Can be `Visa`, `American Express`, `MasterCard`, `Discover`, `JCB`, `Diners Club`, or `Unknown`.", "type": [ "string" ] }, "country": { "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.", "type": [ "string" ] }, "currency": { "description": "", "type": [ "string" ] }, "cvc_check": { "description": "If a CVC was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.", "type": [ "string" ] }, "dynamic_last4": { "description": "(For tokenized numbers only.) The last four digits of the device account number.", "type": [ "string" ] }, "exp_month": { "description": "", "type": [ "integer" ] }, "exp_year": { "description": "", "type": [ "integer" ] }, "fingerprint": { "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example.", "type": [ "string" ] }, "funding": { "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.", "type": [ "string" ] }, "google_reference": { "description": "", "type": [ "string" ] }, "id": { "description": "ID of card (used in conjunction with a customer or recipient ID).", "type": [ "string" ] }, "last4": { "description": "", "type": [ "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a card object. It can be useful for storing additional information about the card in a structured format.", "type": [ "object" ] }, "name": { "description": "Cardholder name.", "type": [ "string" ] }, "object": { "description": "", "type": [ "string" ] }, "three_d_secure": { "description": "", "type": [ "object" ] }, "tokenization_method": { "description": "If the card number is tokenized, this is the method that was used. Can be `apple_pay` or `android_pay`.", "type": [ "string" ] } }, "required": [ "brand", "exp_month", "exp_year", "funding", "id", "last4", "metadata", "object" ], "title": "TokenCard", "type": [ "object" ], "x-resourceId": "token_card" }, "transfer": { "properties": { "amount": { "description": "", "type": [ "integer" ] }, "amount_reversed": { "description": "", "type": [ "integer" ] }, "balance_transaction": { "description": "", "type": [ "string" ] }, "created": { "description": "", "type": [ "integer" ] }, "currency": { "description": "", "type": [ "string" ] }, "destination": { "description": "", "type": [ "string" ] }, "destination_payment": { "description": "", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "metadata": { "description": "", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] }, "reversals": { "properties": { "data": { "items": { "$ref": "#/definitions/transfer_reversal" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "TransferReversalList", "type": [ "object" ] }, "reversed": { "description": "", "type": [ "boolean" ] }, "transfer_group": { "description": "", "type": [ "string" ] } }, "required": [ "amount", "amount_reversed", "created", "currency", "id", "livemode", "metadata", "object", "reversals", "reversed" ], "title": "Transfer", "type": [ "object" ], "x-resourceId": "transfer" }, "transfer_recipient": { "properties": { "active_account": { "$ref": "#/definitions/recipient_payout_bank_account" }, "cards": { "properties": { "data": { "items": { "$ref": "#/definitions/recipient_payout_card" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "RecipientPayoutCardList", "type": [ "object" ] }, "created": { "description": "", "type": [ "integer" ] }, "default_card": { "description": "The default card to use for creating transfers to this recipient.", "type": [ "string" ] }, "description": { "description": "", "type": [ "string" ] }, "email": { "description": "", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a recipient object. It can be useful for storing additional information about the recipient in a structured format.", "type": [ "object" ] }, "migrated_to": { "description": "The ID of the [managed account](/docs/connect/managed-accounts) this recipient was migrated to. If set, the recipient can no longer be updated, nor can transfers be made to it: use the managed account instead.", "type": [ "string" ] }, "name": { "description": "Full, legal name of the recipient.", "type": [ "string" ] }, "object": { "description": "", "type": [ "string" ] }, "tin": { "description": "", "type": [ "string" ] }, "tin_verification_pending": { "description": "", "type": [ "boolean" ] }, "type": { "description": "Type of the recipient, one of `individual` or `corporation`.", "type": [ "string" ] } }, "required": [ "created", "id", "livemode", "metadata", "object", "tin_verification_pending", "type" ], "title": "TransferRecipient", "type": [ "object" ], "x-resourceId": "transfer_recipient" }, "transfer_reversal": { "properties": { "amount": { "description": "Amount, in %s.", "type": [ "integer" ] }, "balance_transaction": { "description": "Balance transaction that describes the impact on your account balance.", "type": [ "string" ] }, "created": { "description": "", "type": [ "integer" ] }, "currency": { "description": "Three-letter ISO code representing the currency.", "type": [ "string" ] }, "id": { "description": "", "type": [ "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to the object. It can be useful for storing additional information in a structured format.", "type": [ "object" ] }, "object": { "description": "", "type": [ "string" ] }, "transfer": { "description": "ID of the transfer that was reversed.", "type": [ "string" ] } }, "required": [ "amount", "created", "currency", "id", "metadata", "object", "transfer" ], "title": "TransferReversal", "type": [ "object" ], "x-resourceId": "transfer_reversal" }, "transfer_schedule": { "properties": { "delay_days": { "description": "The number of days charges for the account will be held before being paid out.", "type": [ "integer" ] }, "interval": { "description": "How frequently funds will be paid out. One of `manual` (transfers only created via API call), `daily`, `weekly`, or `monthly`.", "type": [ "string" ] }, "monthly_anchor": { "description": "The day of the month funds will be paid out. Only shown if `interval` is monthly.", "type": [ "integer" ] }, "weekly_anchor": { "description": "The day of the week funds will be paid out, of the style 'monday', 'tuesday', etc. Only shown if `interval` is weekly.", "type": [ "string" ] } }, "required": [ "delay_days", "interval" ], "title": "TransferSchedule", "type": [ "object" ], "x-resourceId": "transfer_schedule" }, "twitter_buy_now_settings": { "properties": { "enabled": { "description": "", "type": [ "boolean" ] }, "marketplace_id": { "description": "", "type": [ "string" ] }, "merchant_id": { "description": "", "type": [ "string" ] }, "oauth_token_provided": { "description": "", "type": [ "boolean" ] }, "oauth_token_secret_provided": { "description": "", "type": [ "boolean" ] }, "privacy_url": { "description": "", "type": [ "string" ] }, "sales_terms": { "description": "", "type": [ "string" ] }, "shipping_policy": { "description": "", "type": [ "string" ] }, "terms_url": { "description": "", "type": [ "string" ] }, "username": { "description": "", "type": [ "string" ] } }, "required": [ "enabled", "oauth_token_provided", "oauth_token_secret_provided", "username" ], "title": "TwitterBuyNowSettings", "type": [ "object" ], "x-resourceId": "twitter_buy_now_settings" }, "upcoming_invoice": { "properties": { "amount_due": { "description": "Final amount due at this time for this invoice. If the invoice's total is smaller than the minimum charge amount, for example, or if there is account credit that can be applied to the invoice, the `amount_due` may be 0. If there is a positive `starting_balance` for the invoice (the customer owes money), the amount_due will also take that into account. The charge that gets generated for the invoice will be for the amount specified in `amount_due`.", "type": [ "integer" ] }, "application_fee": { "description": "The fee in %s that will be applied to the invoice and transferred to the application owner's Stripe account when the invoice is paid.", "type": [ "integer" ] }, "attempt_count": { "description": "Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule.", "type": [ "integer" ] }, "attempted": { "description": "Whether or not an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the `invoice.created` webhook, for example, so you might not want to display that invoice as unpaid to your users.", "type": [ "boolean" ] }, "billing": { "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions.", "type": [ "string" ] }, "charge": { "description": "ID of the latest charge generated for this invoice, if any.", "type": [ "string" ] }, "closed": { "description": "Whether or not the invoice is still trying to collect payment. An invoice is closed if it's either paid or it has been marked closed. A closed invoice will no longer attempt to collect payment.", "type": [ "boolean" ] }, "currency": { "description": "", "type": [ "string" ] }, "customer": { "description": "", "type": [ "string" ] }, "date": { "description": "", "type": [ "integer" ] }, "description": { "description": "", "type": [ "string" ] }, "discount": { "$ref": "#/definitions/discount" }, "due_date": { "description": "The date on which payment for this invoice is due.", "type": [ "integer" ] }, "ending_balance": { "description": "Ending customer balance after attempting to pay invoice. If the invoice has not been attempted yet, this will be null.", "type": [ "integer" ] }, "forgiven": { "description": "Whether or not the invoice has been forgiven. Forgiving an invoice instructs us to update the subscription status as if the invoice were successfully paid. Once an invoice has been forgiven, it cannot be unforgiven or reopened.", "type": [ "boolean" ] }, "lines": { "properties": { "data": { "items": { "$ref": "#/definitions/invoice_line_item" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "InvoiceLines", "type": [ "object" ] }, "livemode": { "description": "", "type": [ "boolean" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to an invoice object. It can be useful for storing additional information about the invoice in a structured format.", "type": [ "object" ] }, "next_payment_attempt": { "description": "The time at which payment will next be attempted.", "type": [ "integer" ] }, "number": { "description": "A unique, identifying string that appears on emails sent to the customer for this invoice.", "type": [ "string" ] }, "object": { "description": "", "type": [ "string" ] }, "paid": { "description": "Whether or not payment was successfully collected for this invoice. An invoice can be paid (most commonly) with a charge or with credit from the customer's account balance.", "type": [ "boolean" ] }, "period_end": { "description": "End of the usage period during which invoice items were added to this invoice.", "type": [ "integer" ] }, "period_start": { "description": "Start of the usage period during which invoice items were added to this invoice.", "type": [ "integer" ] }, "receipt_number": { "description": "This is the transaction number that appears on email receipts sent for this invoice.", "type": [ "string" ] }, "starting_balance": { "description": "Starting customer balance before attempting to pay invoice. If the invoice has not been attempted yet, this will be the current customer balance.", "type": [ "integer" ] }, "statement_descriptor": { "description": "Extra information about an invoice for the customer's credit card statement.", "type": [ "string" ] }, "subscription": { "description": "The subscription that this invoice was prepared for, if any.", "type": [ "string" ] }, "subscription_proration_date": { "description": "Only set for upcoming invoices that preview prorations. The time used to calculate prorations.", "type": [ "integer" ] }, "subtotal": { "description": "Total of all subscriptions, invoice items, and prorations on the invoice before any discount is applied.", "type": [ "integer" ] }, "tax": { "description": "The amount of tax included in the total, calculated from `tax_percent` and the subtotal. If no `tax_percent` is defined, this value will be null.", "type": [ "integer" ] }, "tax_percent": { "description": "This percentage of the subtotal has been added to the total amount of the invoice, including invoice line items and discounts. This field is inherited from the subscription's `tax_percent` field, but can be changed before the invoice is paid. This field defaults to null.", "type": [ "number" ] }, "total": { "description": "Total after discount.", "type": [ "integer" ] }, "webhooks_delivered_at": { "description": "The time at which webhooks for this invoice were successfully delivered (if the invoice had no webhooks to deliver, this will match `date`). Invoice payment is delayed until webhooks are delivered, or until all webhook delivery attempts have been exhausted.", "type": [ "integer" ] } }, "required": [ "amount_due", "attempt_count", "attempted", "closed", "currency", "customer", "date", "forgiven", "lines", "livemode", "object", "paid", "period_end", "period_start", "starting_balance", "subtotal", "total" ], "title": "UpcomingInvoice", "type": [ "object" ], "x-resourceId": "upcoming_invoice" } }, "host": "api.stripe.com", "info": { "contact": { "email": "dev-platform@stripe.com", "name": "Stripe Dev Platform Team", "url": "https://stripe.com" }, "description": "The Stripe REST API. Please see https://stripe.com/docs/api for more details.", "termsOfService": "https://stripe.com/us/terms/", "title": "Stripe API", "version": "2017-01-27" }, "paths": { "/v1/3d_secure": { "post": { "description": "", "operationId": "Create3DSecure", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": true, "schema": { "properties": { "amount": { "description": "Amount of the charge that you will create when authentication completes.", "title": "amount", "type": [ "integer" ] }, "card": { "description": "The ID of a card token, or the ID of a card belonging to the given customer.", "title": "card", "type": [ "string" ] }, "currency": { "description": "Currency of the charge that you will create when authentication completes.", "title": "currency", "type": [ "string" ] }, "customer": { "description": "", "title": "customer", "type": [ "string" ] }, "return_url": { "description": "The URL that the cardholder's browser will be returned to when authentication completes.", "title": "return_url", "type": [ "string" ] } }, "required": [ "amount", "currency", "return_url" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/three_d_secure" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/3d_secure/{three_d_secure}": { "get": { "description": "\u003Cp\u003ERetrieves a 3D Secure object.\u003C/p\u003E", "operationId": "Retrieve3DSecure", "parameters": [ { "description": "The identifier of the 3D Secure object to be retrieved.", "in": "path", "name": "three_d_secure", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/three_d_secure" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/account": { "delete": { "description": "\u003Cp\u003EWith \u003Ca href=\"/docs/connect\"\u003EConnect\u003C/a\u003E, you may delete Stripe accounts you manage.\u003C/p\u003E\n\n\u003Cp\u003EManaged accounts created using test-mode keys can be deleted at any time. Managed accounts created using live-mode keys may only be deleted once all balances are zero.\u003C/p\u003E\n\n\u003Cp\u003EIf you are looking to close your own account, use the \u003Ca href=\"http://dashboard:6090/account/data\"\u003Edata tab in your account settings\u003C/a\u003E instead.\u003C/p\u003E", "operationId": "AccountDelete", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "account": { "description": "The identifier of the account to be deleted. If none is provided, will default to the account of the API key.", "title": "account", "type": [ "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/account" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "\u003Cp\u003ERetrieves the details of the account.\u003C/p\u003E", "operationId": "AccountRetrieve", "parameters": [ { "description": "The identifier of the account to be retrieved. If none is provided, will default to the account of the API key.", "in": "query", "name": "account", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/account" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates an account by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E\n\n\u003Cp\u003E\u003Cstrong\u003EYou may only update accounts that you \u003Ca href=\"/docs/connect/managed-accounts\"\u003Emanage\u003C/a\u003E\u003C/strong\u003E. To update your own account, you can currently only do so via the \u003Ca href=\"http://dashboard:6090/account\"\u003Edashboard\u003C/a\u003E. For more information on updating Managed Accounts, see \u003Ca href=\"/docs/connect/updating-accounts\"\u003Eour guide\u003C/a\u003E.\u003C/p\u003E", "operationId": "AccountUpdate", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "business_logo": { "description": "", "title": "business_logo", "type": [ "string" ] }, "business_name": { "description": "The publicly sharable name for this account.", "title": "business_name", "type": [ "string" ] }, "business_primary_color": { "description": "A CSS hex color value representing the primary branding color for this account.", "title": "business_primary_color", "type": [ "string" ] }, "business_url": { "description": "The URL that best shows the service or product provided for this account.", "title": "business_url", "type": [ "string" ] }, "debit_negative_balances": { "description": "A boolean for whether or not Stripe should try to reclaim negative balances from the account holder's bank account. See our [managed account bank transfer guide](/docs/connect/bank-transfers#negative-balances) for more information.", "title": "debit_negative_balances", "type": [ "boolean" ] }, "decline_charge_on": { "description": "Account-level settings to automatically decline certain types of charges regardless of the bank's decision.", "title": "decline_charge_on", "type": [ "object" ] }, "default_currency": { "description": "Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](http://127.0.0.1:6041/questions/which-currencies-does-stripe-support).", "title": "default_currency", "type": [ "string" ] }, "email": { "description": "Email address of the account holder. For standalone accounts, this is used to email them asking them to claim their Stripe account. For managed accounts, this is only to make the account easier to identify to you: Stripe will not email the account holder.", "title": "email", "type": [ "string" ] }, "external_account": { "description": "A card or bank account to attach to the account. You can provide either a token, like the ones returned by [Stripe.js](/docs/stripe.js), or a dictionary as documented in the external_account parameter for either [card](/docs/api#account_create_card) or [bank account](/docs/api#account_create_bank_account) creation. \u003Cbr\u003E\u003Cbr\u003EThis will create a new external account object, make it the new default external account for its currency, and delete the old default if one exists. If you want to add additional external accounts instead of replacing the existing default for this currency, use the bank account or card creation API.", "title": "external_account", "type": [ "object", "string" ] }, "legal_entity": { "description": "Information about the account holder; varies by [account country](#country_spec_object-verification_fields) and [account status](#account_object-verification-fields_needed).", "title": "legal_entity", "type": [ "object" ] }, "mcc": { "description": "", "title": "mcc", "type": [ "integer" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to an account object. It can be useful for storing additional information about the account in a structured format.", "title": "metadata", "type": [ "object" ] }, "orders": { "description": "", "title": "orders", "type": [ "object" ] }, "product_description": { "description": "Internal-only description of the product being sold or service being provided by this account. It's used by Stripe for risk and underwriting purposes.", "title": "product_description", "type": [ "string" ] }, "statement_descriptor": { "description": "The text that will appear on credit card statements by default if a charge is being made [directly on the account](/docs/connect/payments-fees#charging-directly).", "title": "statement_descriptor", "type": [ "string" ] }, "support_email": { "description": "A publicly shareable email address that can be reached for support for this account.", "title": "support_email", "type": [ "string" ] }, "support_phone": { "description": "A publicly shareable phone number that can be reached for support for this account.", "title": "support_phone", "type": [ "string" ] }, "support_url": { "description": "A publicly shareable URL that can be reached for support for this account.", "title": "support_url", "type": [ "string" ] }, "tos_acceptance": { "description": "Details on who accepted the Stripe terms of service, and when they accepted it. See our [updating managed accounts guide](/docs/connect/updating-accounts#tos_acceptance) for more information.", "title": "tos_acceptance", "type": [ "object" ] }, "transfer_schedule": { "description": "Details on when this account will make funds from charges available, and when they will be paid out to the account holder's bank account. See our [managed account bank transfer guide](/docs/connect/bank-transfers#payout-information) for more information.", "title": "transfer_schedule", "type": [ "object" ] }, "transfer_statement_descriptor": { "description": "The text that will appear on the account's bank account statement for payouts. If not set, this will default to your platform's bank descriptor set on the Dashboard.", "title": "transfer_statement_descriptor", "type": [ "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/account" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/account/bank_accounts": { "post": { "description": "", "operationId": "CreateAccountExternalAccount", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "default_for_currency": { "description": "If you set this to true (or if this is the first external account being added in this currency) this account will become the default external account for its currency.", "title": "default_for_currency", "type": [ "boolean" ] }, "external_account": { "description": "This string to be replaced by DocSpecGenerator.", "title": "external_account", "type": [ "object", "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to an external account object. It can be useful for storing additional information about the external account in a structured format.", "title": "metadata", "type": [ "object" ] } }, "required": [ "external_account" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/external_account_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/account/bank_accounts/{id}": { "delete": { "description": "", "operationId": "DeleteAccountExternalAccount", "parameters": [ { "description": "The ID of the external account to be deleted.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/external_account_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates the metadata of a bank account belonging to a \u003Ca href=\"/docs/connect/managed-accounts\"\u003Emanaged accounts\u003C/a\u003E, and optionally sets it as the default for its currency. Other bank account details are not editable by design.\u003C/p\u003E", "operationId": "UpdateAccountBankAccount", "parameters": [ { "description": "The ID of the bank account to be updated.", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "default_for_currency": { "description": "If set to `true`, this bank account will become the default external account for its currency.", "title": "default_for_currency", "type": [ "boolean" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/external_account_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/account/external_accounts": { "get": { "description": "", "operationId": "AllAccountExternalAccounts", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "type": [ "object" ] }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "ExternalAccountList", "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "CreateAccountExternalAccount", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "default_for_currency": { "description": "If you set this to true (or if this is the first external account being added in this currency) this account will become the default external account for its currency.", "title": "default_for_currency", "type": [ "boolean" ] }, "external_account": { "description": "This string to be replaced by DocSpecGenerator.", "title": "external_account", "type": [ "object", "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to an external account object. It can be useful for storing additional information about the external account in a structured format.", "title": "metadata", "type": [ "object" ] } }, "required": [ "external_account" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/external_account_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/account/external_accounts/{id}": { "delete": { "description": "", "operationId": "DeleteAccountExternalAccount", "parameters": [ { "description": "The ID of the external account to be deleted.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/external_account_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates the metadata of a bank account belonging to a \u003Ca href=\"/docs/connect/managed-accounts\"\u003Emanaged accounts\u003C/a\u003E, and optionally sets it as the default for its currency. Other bank account details are not editable by design.\u003C/p\u003E", "operationId": "UpdateAccountBankAccount", "parameters": [ { "description": "The ID of the bank account to be updated.", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "default_for_currency": { "description": "If set to `true`, this bank account will become the default external account for its currency.", "title": "default_for_currency", "type": [ "boolean" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/external_account_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/accounts": { "get": { "description": "\u003Cp\u003EReturns a list of accounts connected to your platform via \u003Ca href=\"/docs/connect\"\u003EConnect\u003C/a\u003E. If you’re not a platform, the list will be empty.\u003C/p\u003E", "operationId": "AllAccount", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/account" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/accounts" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "AccountCreate", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "business_logo": { "description": "", "title": "business_logo", "type": [ "string" ] }, "business_name": { "description": "The publicly sharable name for this account.", "title": "business_name", "type": [ "string" ] }, "business_primary_color": { "description": "A CSS hex color value representing the primary branding color for this account.", "title": "business_primary_color", "type": [ "string" ] }, "business_url": { "description": "The URL that best shows the service or product provided for this account.", "title": "business_url", "type": [ "string" ] }, "country": { "description": "", "title": "country", "type": [ "string" ] }, "debit_negative_balances": { "description": "A boolean for whether or not Stripe should try to reclaim negative balances from the account holder's bank account. See our [managed account bank transfer guide](/docs/connect/bank-transfers#negative-balances) for more information.", "title": "debit_negative_balances", "type": [ "boolean" ] }, "decline_charge_on": { "description": "Account-level settings to automatically decline certain types of charges regardless of the bank's decision.", "title": "decline_charge_on", "type": [ "object" ] }, "default_currency": { "description": "Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](http://127.0.0.1:6041/questions/which-currencies-does-stripe-support).", "title": "default_currency", "type": [ "string" ] }, "email": { "description": "Email address of the account holder. For standalone accounts, this is used to email them asking them to claim their Stripe account. For managed accounts, this is only to make the account easier to identify to you: Stripe will not email the account holder.", "title": "email", "type": [ "string" ] }, "external_account": { "description": "A card or bank account to attach to the account. You can provide either a token, like the ones returned by [Stripe.js](/docs/stripe.js), or a dictionary as documented in the external_account parameter for either [card](/docs/api#account_create_card) or [bank account](/docs/api#account_create_bank_account) creation. \u003Cbr\u003E\u003Cbr\u003EThis will create a new external account object, make it the new default external account for its currency, and delete the old default if one exists. If you want to add additional external accounts instead of replacing the existing default for this currency, use the bank account or card creation API.", "title": "external_account", "type": [ "object", "string" ] }, "legal_entity": { "description": "Information about the account holder; varies by [account country](#country_spec_object-verification_fields) and [account status](#account_object-verification-fields_needed).", "title": "legal_entity", "type": [ "object" ] }, "managed": { "description": "", "title": "managed", "type": [ "boolean" ] }, "mcc": { "description": "", "title": "mcc", "type": [ "integer" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to an account object. It can be useful for storing additional information about the account in a structured format.", "title": "metadata", "type": [ "object" ] }, "orders": { "description": "", "title": "orders", "type": [ "object" ] }, "platform_account": { "description": "", "title": "platform_account", "type": [ "boolean" ] }, "product_description": { "description": "Internal-only description of the product being sold or service being provided by this account. It's used by Stripe for risk and underwriting purposes.", "title": "product_description", "type": [ "string" ] }, "statement_descriptor": { "description": "The text that will appear on credit card statements by default if a charge is being made [directly on the account](/docs/connect/payments-fees#charging-directly).", "title": "statement_descriptor", "type": [ "string" ] }, "support_email": { "description": "A publicly shareable email address that can be reached for support for this account.", "title": "support_email", "type": [ "string" ] }, "support_phone": { "description": "A publicly shareable phone number that can be reached for support for this account.", "title": "support_phone", "type": [ "string" ] }, "support_url": { "description": "A publicly shareable URL that can be reached for support for this account.", "title": "support_url", "type": [ "string" ] }, "tos_acceptance": { "description": "Details on who accepted the Stripe terms of service, and when they accepted it. See our [updating managed accounts guide](/docs/connect/updating-accounts#tos_acceptance) for more information.", "title": "tos_acceptance", "type": [ "object" ] }, "transfer_schedule": { "description": "Details on when this account will make funds from charges available, and when they will be paid out to the account holder's bank account. See our [managed account bank transfer guide](/docs/connect/bank-transfers#payout-information) for more information.", "title": "transfer_schedule", "type": [ "object" ] }, "transfer_statement_descriptor": { "description": "The text that will appear on the account's bank account statement for payouts. If not set, this will default to your platform's bank descriptor set on the Dashboard.", "title": "transfer_statement_descriptor", "type": [ "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/account_with_keys" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/accounts/{account}": { "delete": { "description": "\u003Cp\u003EWith \u003Ca href=\"/docs/connect\"\u003EConnect\u003C/a\u003E, you may delete Stripe accounts you manage.\u003C/p\u003E\n\n\u003Cp\u003EManaged accounts created using test-mode keys can be deleted at any time. Managed accounts created using live-mode keys may only be deleted once all balances are zero.\u003C/p\u003E\n\n\u003Cp\u003EIf you are looking to close your own account, use the \u003Ca href=\"http://dashboard:6090/account/data\"\u003Edata tab in your account settings\u003C/a\u003E instead.\u003C/p\u003E", "operationId": "AccountDelete", "parameters": [ { "description": "The identifier of the account to be deleted. If none is provided, will default to the account of the API key.", "in": "path", "name": "account", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/account" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "\u003Cp\u003ERetrieves the details of the account.\u003C/p\u003E", "operationId": "AccountRetrieve", "parameters": [ { "description": "The identifier of the account to be retrieved. If none is provided, will default to the account of the API key.", "in": "path", "name": "account", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/account" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates an account by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E\n\n\u003Cp\u003E\u003Cstrong\u003EYou may only update accounts that you \u003Ca href=\"/docs/connect/managed-accounts\"\u003Emanage\u003C/a\u003E\u003C/strong\u003E. To update your own account, you can currently only do so via the \u003Ca href=\"http://dashboard:6090/account\"\u003Edashboard\u003C/a\u003E. For more information on updating Managed Accounts, see \u003Ca href=\"/docs/connect/updating-accounts\"\u003Eour guide\u003C/a\u003E.\u003C/p\u003E", "operationId": "AccountUpdate", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "business_logo": { "description": "", "title": "business_logo", "type": [ "string" ] }, "business_name": { "description": "The publicly sharable name for this account.", "title": "business_name", "type": [ "string" ] }, "business_primary_color": { "description": "A CSS hex color value representing the primary branding color for this account.", "title": "business_primary_color", "type": [ "string" ] }, "business_url": { "description": "The URL that best shows the service or product provided for this account.", "title": "business_url", "type": [ "string" ] }, "debit_negative_balances": { "description": "A boolean for whether or not Stripe should try to reclaim negative balances from the account holder's bank account. See our [managed account bank transfer guide](/docs/connect/bank-transfers#negative-balances) for more information.", "title": "debit_negative_balances", "type": [ "boolean" ] }, "decline_charge_on": { "description": "Account-level settings to automatically decline certain types of charges regardless of the bank's decision.", "title": "decline_charge_on", "type": [ "object" ] }, "default_currency": { "description": "Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](http://127.0.0.1:6041/questions/which-currencies-does-stripe-support).", "title": "default_currency", "type": [ "string" ] }, "email": { "description": "Email address of the account holder. For standalone accounts, this is used to email them asking them to claim their Stripe account. For managed accounts, this is only to make the account easier to identify to you: Stripe will not email the account holder.", "title": "email", "type": [ "string" ] }, "external_account": { "description": "A card or bank account to attach to the account. You can provide either a token, like the ones returned by [Stripe.js](/docs/stripe.js), or a dictionary as documented in the external_account parameter for either [card](/docs/api#account_create_card) or [bank account](/docs/api#account_create_bank_account) creation. \u003Cbr\u003E\u003Cbr\u003EThis will create a new external account object, make it the new default external account for its currency, and delete the old default if one exists. If you want to add additional external accounts instead of replacing the existing default for this currency, use the bank account or card creation API.", "title": "external_account", "type": [ "object", "string" ] }, "legal_entity": { "description": "Information about the account holder; varies by [account country](#country_spec_object-verification_fields) and [account status](#account_object-verification-fields_needed).", "title": "legal_entity", "type": [ "object" ] }, "mcc": { "description": "", "title": "mcc", "type": [ "integer" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to an account object. It can be useful for storing additional information about the account in a structured format.", "title": "metadata", "type": [ "object" ] }, "orders": { "description": "", "title": "orders", "type": [ "object" ] }, "product_description": { "description": "Internal-only description of the product being sold or service being provided by this account. It's used by Stripe for risk and underwriting purposes.", "title": "product_description", "type": [ "string" ] }, "statement_descriptor": { "description": "The text that will appear on credit card statements by default if a charge is being made [directly on the account](/docs/connect/payments-fees#charging-directly).", "title": "statement_descriptor", "type": [ "string" ] }, "support_email": { "description": "A publicly shareable email address that can be reached for support for this account.", "title": "support_email", "type": [ "string" ] }, "support_phone": { "description": "A publicly shareable phone number that can be reached for support for this account.", "title": "support_phone", "type": [ "string" ] }, "support_url": { "description": "A publicly shareable URL that can be reached for support for this account.", "title": "support_url", "type": [ "string" ] }, "tos_acceptance": { "description": "Details on who accepted the Stripe terms of service, and when they accepted it. See our [updating managed accounts guide](/docs/connect/updating-accounts#tos_acceptance) for more information.", "title": "tos_acceptance", "type": [ "object" ] }, "transfer_schedule": { "description": "Details on when this account will make funds from charges available, and when they will be paid out to the account holder's bank account. See our [managed account bank transfer guide](/docs/connect/bank-transfers#payout-information) for more information.", "title": "transfer_schedule", "type": [ "object" ] }, "transfer_statement_descriptor": { "description": "The text that will appear on the account's bank account statement for payouts. If not set, this will default to your platform's bank descriptor set on the Dashboard.", "title": "transfer_statement_descriptor", "type": [ "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/account" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/accounts/{account}/bank_accounts": { "post": { "description": "", "operationId": "CreateAccountExternalAccount", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "default_for_currency": { "description": "If you set this to true (or if this is the first external account being added in this currency) this account will become the default external account for its currency.", "title": "default_for_currency", "type": [ "boolean" ] }, "external_account": { "description": "This string to be replaced by DocSpecGenerator.", "title": "external_account", "type": [ "object", "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to an external account object. It can be useful for storing additional information about the external account in a structured format.", "title": "metadata", "type": [ "object" ] } }, "required": [ "external_account" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/external_account_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/accounts/{account}/bank_accounts/{id}": { "delete": { "description": "", "operationId": "DeleteAccountExternalAccount", "parameters": [ { "description": "The ID of the external account to be deleted.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/external_account_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates the metadata of a bank account belonging to a \u003Ca href=\"/docs/connect/managed-accounts\"\u003Emanaged accounts\u003C/a\u003E, and optionally sets it as the default for its currency. Other bank account details are not editable by design.\u003C/p\u003E", "operationId": "UpdateAccountBankAccount", "parameters": [ { "description": "The ID of the bank account to be updated.", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "default_for_currency": { "description": "If set to `true`, this bank account will become the default external account for its currency.", "title": "default_for_currency", "type": [ "boolean" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/external_account_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/accounts/{account}/external_accounts": { "get": { "description": "", "operationId": "AllAccountExternalAccounts", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "type": [ "object" ] }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "ExternalAccountList", "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "CreateAccountExternalAccount", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "default_for_currency": { "description": "If you set this to true (or if this is the first external account being added in this currency) this account will become the default external account for its currency.", "title": "default_for_currency", "type": [ "boolean" ] }, "external_account": { "description": "This string to be replaced by DocSpecGenerator.", "title": "external_account", "type": [ "object", "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to an external account object. It can be useful for storing additional information about the external account in a structured format.", "title": "metadata", "type": [ "object" ] } }, "required": [ "external_account" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/external_account_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/accounts/{account}/external_accounts/{id}": { "delete": { "description": "", "operationId": "DeleteAccountExternalAccount", "parameters": [ { "description": "The ID of the external account to be deleted.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/external_account_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates the metadata of a bank account belonging to a \u003Ca href=\"/docs/connect/managed-accounts\"\u003Emanaged accounts\u003C/a\u003E, and optionally sets it as the default for its currency. Other bank account details are not editable by design.\u003C/p\u003E", "operationId": "UpdateAccountBankAccount", "parameters": [ { "description": "The ID of the bank account to be updated.", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "default_for_currency": { "description": "If set to `true`, this bank account will become the default external account for its currency.", "title": "default_for_currency", "type": [ "boolean" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/external_account_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/accounts/{account}/reject": { "post": { "description": "\u003Cp\u003EWith \u003Ca href=\"/docs/connect\"\u003EConnect\u003C/a\u003E, you may flag managed accounts as suspicious.\u003C/p\u003E\n\n\u003Cp\u003EManaged accounts created using test-mode keys can be rejected at any time. Managed accounts created using live-mode keys may only be rejected once all balances are zero.\u003C/p\u003E", "operationId": "AccountReject", "parameters": [ { "description": "The identifier of the account to be rejected.", "in": "path", "name": "account", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "reason": { "description": "The reason for rejecting the account. May be one of `fraud`, `terms_of_service`, or `other`.", "title": "reason", "type": [ "string" ] } }, "required": [ "reason" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/account" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/apple_pay/domains": { "get": { "description": "", "operationId": "AllApplePayDomains", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "", "in": "query", "name": "domain_name", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/apple_pay_domain" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/apple_pay/domains" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "ApplePayDomainList", "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "CreateApplePayDomain", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "domain_name": { "description": "", "title": "domain_name", "type": [ "string" ] } }, "required": [ "domain_name" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/apple_pay_domain" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/apple_pay/domains/{domain}": { "delete": { "description": "", "operationId": "DeleteApplePayDomain", "parameters": [ { "description": "", "in": "path", "name": "domain", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/apple_pay_domain" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "", "operationId": "RetrieveApplePayDomain", "parameters": [ { "description": "", "in": "path", "name": "domain", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/apple_pay_domain" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/application_fees": { "get": { "description": "\u003Cp\u003EReturns a list of application fees you’ve previously collected. The application fees are returned in sorted order, with the most recent fees appearing first.\u003C/p\u003E", "operationId": "AllPlatformEarnings", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "", "in": "query", "name": "created", "required": false, "type": "integer" }, { "description": "Only return application fees for the charge specified by this charge ID.", "in": "query", "name": "charge", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/platform_earning" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/application_fees" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/application_fees/{fee}/refunds/{id}": { "get": { "description": "\u003Cp\u003EBy default, you can see the 10 most recent refunds stored directly on the application fee object, but you can also retrieve details about a specific refund stored on the application fee.\u003C/p\u003E", "operationId": "RetrievePlatformEarningRefund", "parameters": [ { "description": "ID of the application fee refunded.", "in": "path", "name": "fee", "required": true, "type": "string" }, { "description": "ID of refund to retrieve.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/fee_refund" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates the specified application fee refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E\n\n\u003Cp\u003EThis request only accepts metadata as an argument.\u003C/p\u003E", "operationId": "UpdatePlatformEarningRefund", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "metadata": { "description": "A set of key/value pairs that you can attach to an application fee refund object. It can be useful for storing additional information about the refund in a structured format.", "title": "metadata", "type": [ "object" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/fee_refund" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/application_fees/{id}": { "get": { "description": "\u003Cp\u003ERetrieves the details of an application fee that your account has collected. The same information is returned when refunding the application fee.\u003C/p\u003E", "operationId": "RetrievePlatformEarning", "parameters": [ { "description": "The identifier of the fee to be retrieved.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/platform_earning" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/application_fees/{id}/refund": { "post": { "description": "", "operationId": "RefundPlatformEarning", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "amount": { "description": "", "title": "amount", "type": [ "integer" ] }, "directive": { "description": "", "title": "directive", "type": [ "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/platform_earning" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/application_fees/{id}/refunds": { "get": { "description": "\u003Cp\u003EYou can see a list of the refunds belonging to a specific application fee. Note that the 10 most recent refunds are always available by default on the application fee object. If you need more than those 10, you can use this API method and the \u003Ccode\u003Elimit\u003C/code\u003E and \u003Ccode\u003Estarting_after\u003C/code\u003E parameters to page through additional refunds.\u003C/p\u003E", "operationId": "AllPlatformEarningsRefunds", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "The ID of the application fee whose refunds will be retrieved.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/fee_refund" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "FeeRefundList", "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "CreatePlatformEarningRefund", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "amount": { "description": "", "title": "amount", "type": [ "integer" ] }, "directive": { "description": "", "title": "directive", "type": [ "string" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/fee_refund" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/balance": { "get": { "description": "\u003Cp\u003ERetrieves the current account balance, based on the authentication that was used to make the request.\u003C/p\u003E", "operationId": "BalanceRetrieve", "parameters": [ ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/balance" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/balance/history": { "get": { "description": "\u003Cp\u003EReturns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.\u003C/p\u003E", "operationId": "AllBalanceTransactions", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "For automatic Stripe transfers only, only returns transactions that were transferred out on the specified transfer ID.", "in": "query", "name": "transfer", "required": false, "type": "string" }, { "description": "", "in": "query", "name": "available_on", "required": false, "type": "string" }, { "description": "", "in": "query", "name": "created", "required": false, "type": "integer" }, { "description": "Only returns transactions of the given type. One of: `charge`, `refund`, `adjustment`, `application_fee`, `application_fee_refund`, `payment`, `transfer`, or `transfer_failure`.", "in": "query", "name": "type", "required": false, "type": "string" }, { "description": "Only returns the original transaction.", "in": "query", "name": "source", "required": false, "type": "string" }, { "description": "", "in": "query", "name": "currency", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/balance_transaction" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/balance/history" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "BalanceTransactionsList", "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/balance/history/{id}": { "get": { "description": "\u003Cp\u003ERetrieves the balance transaction with the given ID.\u003C/p\u003E", "operationId": "RetrieveBalanceTransaction", "parameters": [ { "description": "The ID of the desired balance transaction (as found on any API object that affects the balance, e.g. a charge or transfer).", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/balance_transaction" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/bitcoin/payments/{payment}/refund": { "post": { "description": "", "operationId": "CreatePaymentRefundWithPaymentResponse", "parameters": [ { "description": "", "in": "path", "name": "payment", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "amount": { "description": "", "title": "amount", "type": [ "integer" ] }, "charge": { "description": "", "title": "charge", "type": [ "string" ] }, "description": { "description": "", "title": "description", "type": [ "string" ] }, "directive": { "description": "", "title": "directive", "type": [ "string" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] }, "reason": { "description": "", "title": "reason", "type": [ "string" ] }, "refund_address": { "description": "", "title": "refund_address", "type": [ "string" ] }, "refund_application_fee": { "description": "", "title": "refund_application_fee", "type": [ "boolean" ] }, "reverse_transfer": { "description": "", "title": "reverse_transfer", "type": [ "boolean" ] } }, "required": [ "charge" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/charge" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/bitcoin/receivers": { "get": { "description": "\u003Cp\u003EReturns a list of your receivers. Receivers are returned sorted by creation date, with the most recently created receivers appearing first.\u003C/p\u003E", "operationId": "AllReceivers", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "Filter for active receivers.", "in": "query", "name": "active", "required": false, "type": "boolean" }, { "description": "Filter for filled receivers.", "in": "query", "name": "filled", "required": false, "type": "boolean" }, { "description": "Filter for receivers with uncaptured funds.", "in": "query", "name": "uncaptured_funds", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/bitcoin_receiver" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/bitcoin/receivers" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003ECreates a Bitcoin receiver object that can be used to accept bitcoin payments from your customer. The receiver exposes a Bitcoin address and is created with a bitcoin to USD exchange rate that is valid for 10 minutes.\u003C/p\u003E", "operationId": "CreateReceiver", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": true, "schema": { "properties": { "amount": { "description": "The amount of `currency` that you will be paid.", "title": "amount", "type": [ "integer" ] }, "currency": { "description": "The currency to which the bitcoin will be converted. You will be paid out in this currency. Only USD is currently supported.", "title": "currency", "type": [ "string" ] }, "description": { "description": "", "title": "description", "type": [ "string" ] }, "email": { "description": "The email address of the customer.", "title": "email", "type": [ "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a customer object. It can be useful for storing additional information about the customer in a structured format.", "title": "metadata", "type": [ "object" ] }, "refund_mispayments": { "description": "A flag that indicates whether you would like Stripe to automatically handle refunds for any [mispayments](/docs/guides/bitcoin#mispayments) to the receiver.", "title": "refund_mispayments", "type": [ "boolean" ] } }, "required": [ "amount", "currency" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/bitcoin_receiver" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/bitcoin/receivers/{id}": { "delete": { "description": "", "operationId": "DeleteReceiver", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/bitcoin_receiver" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "\u003Cp\u003ERetrieves the Bitcoin receiver with the given ID.\u003C/p\u003E", "operationId": "RetrieveReceiver", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/bitcoin_receiver" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "UpdateReceiver", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "description": { "description": "", "title": "description", "type": [ "string" ] }, "email": { "description": "", "title": "email", "type": [ "string" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] }, "refund_address": { "description": "", "title": "refund_address", "type": [ "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/bitcoin_receiver" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/bitcoin/receivers/{id}/refund": { "post": { "description": "", "operationId": "RefundReceiver", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "refund_address": { "description": "If the receiver does not already have a refund address, then you need to provide one to perform a refund.", "title": "refund_address", "type": [ "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/bitcoin_receiver" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/bitcoin/receivers/{receiver}/transactions": { "get": { "description": "", "operationId": "AllTransactions", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "Only return transactions for the customer specified by this customer ID.", "in": "query", "name": "customer", "required": false, "type": "string" }, { "description": "Only return transactions for the receiver specified by this receiver ID.", "in": "path", "name": "receiver", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/bitcoin_transaction" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "BitcoinTransactionList", "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/bitcoin/transactions": { "get": { "description": "", "operationId": "AllTransactions", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "Only return transactions for the customer specified by this customer ID.", "in": "query", "name": "customer", "required": false, "type": "string" }, { "description": "Only return transactions for the receiver specified by this receiver ID.", "in": "query", "name": "receiver", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/bitcoin_transaction" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "BitcoinTransactionList", "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/bitcoin/transactions/{id}": { "get": { "description": "", "operationId": "RetrieveTransaction", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/bitcoin_transaction" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/charges": { "get": { "description": "\u003Cp\u003EReturns a list of charges you’ve previously created. The charges are returned in sorted order, with the most recent charges appearing first.\u003C/p\u003E", "operationId": "AllCharges", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "Only return charges for the customer specified by this customer ID.", "in": "query", "name": "customer", "required": false, "type": "string" }, { "description": "", "in": "query", "name": "created", "required": false, "type": "integer" }, { "description": "", "in": "query", "name": "source", "required": false, "type": "string" }, { "description": "Only return charges for this transfer group.", "in": "query", "name": "transfer_group", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/charge" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/charges" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "CreateCharge", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": true, "schema": { "properties": { "alternate_statement_descriptors": { "description": "", "title": "alternate_statement_descriptors", "type": [ "object" ] }, "amount": { "description": "", "title": "amount", "type": [ "integer" ] }, "application": { "description": "", "title": "application", "type": [ "string" ] }, "application_fee": { "description": "", "title": "application_fee", "type": [ "integer" ] }, "capture": { "description": "", "title": "capture", "type": [ "boolean" ] }, "card": { "description": "", "title": "card", "type": [ "string" ] }, "currency": { "description": "", "title": "currency", "type": [ "string" ] }, "customer": { "description": "", "title": "customer", "type": [ "string" ] }, "description": { "description": "", "title": "description", "type": [ "string" ] }, "destination": { "description": "", "title": "destination", "type": [ "object", "string" ] }, "external_id": { "description": "", "title": "external_id", "type": [ "string" ] }, "invoice": { "description": "", "title": "invoice", "type": [ "string" ] }, "invoice_source": { "description": "", "title": "invoice_source", "type": [ "string" ] }, "ip": { "description": "", "title": "ip", "type": [ "string" ] }, "level3": { "description": "", "title": "level3", "type": [ "object" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] }, "on_behalf_of": { "description": "", "title": "on_behalf_of", "type": [ "string" ] }, "payment_user_agent": { "description": "", "title": "payment_user_agent", "type": [ "string" ] }, "receipt_email": { "description": "", "title": "receipt_email", "type": [ "string" ] }, "recurring": { "description": "", "title": "recurring", "type": [ "boolean" ] }, "referrer": { "description": "", "title": "referrer", "type": [ "string" ] }, "shipping": { "description": "", "title": "shipping", "type": [ "object" ] }, "source": { "description": "", "title": "source", "type": [ "object", "string" ] }, "statement_descriptor": { "description": "", "title": "statement_descriptor", "type": [ "string" ] }, "three_d_secure": { "description": "", "title": "three_d_secure", "type": [ "object" ] }, "transfer": { "description": "", "title": "transfer", "type": [ "object" ] }, "transfer_group": { "description": "", "title": "transfer_group", "type": [ "string" ] }, "trust": { "description": "", "title": "trust", "type": [ "object" ] }, "uncaptured": { "description": "", "title": "uncaptured", "type": [ "boolean" ] }, "user_agent": { "description": "", "title": "user_agent", "type": [ "string" ] } }, "required": [ "amount", "currency" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/charge" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/charges/{charge}": { "get": { "description": "\u003Cp\u003ERetrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge information. The same information is returned when creating or refunding the charge.\u003C/p\u003E", "operationId": "RetrieveCharge", "parameters": [ { "description": "The identifier of the charge to be retrieved.", "in": "path", "name": "charge", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/charge" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E\n\n\u003Cp\u003EThis request accepts only the \u003Ccode\u003Edescription\u003C/code\u003E, \u003Ccode\u003Emetadata\u003C/code\u003E, \u003Ccode\u003Ereceipt_email\u003C/code\u003E, \u003Ccode\u003Efraud_details\u003C/code\u003E, and \u003Ccode\u003Eshipping\u003C/code\u003E as arguments.\u003C/p\u003E", "operationId": "UpdateCharge", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "description": { "description": "An arbitrary string which you can attach to a charge object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing.", "title": "description", "type": [ "string" ] }, "fraud_details": { "description": "A set of key/value pairs you can attach to a charge giving information about its riskiness. If you believe a charge is fraudulent, include a `user_report` key with a value of `fraudulent`. If you believe a charge is safe, include a `user_report` key with a value of `safe`. Note that you must refund a charge before setting the `user_report` to `fraudulent`. Stripe will use the information you send to improve our fraud detection algorithms.", "title": "fraud_details", "type": [ "object" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a charge object. It can be useful for storing additional information about the charge in a structured format.", "title": "metadata", "type": [ "object" ] }, "receipt_email": { "description": "This is the email address that the receipt for this charge will be sent to. If this field is updated, then a new email receipt will be sent to the updated address.", "title": "receipt_email", "type": [ "string" ] }, "shipping": { "description": "Shipping information for the charge. Helps prevent fraud on charges for physical goods.", "title": "shipping", "type": [ "object" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/charge" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/charges/{charge}/capture": { "post": { "description": "\u003Cp\u003ECapture the payment of an existing, uncaptured, charge. This is the second half of the two-step payment flow, where first you \u003Ca href=\"#create_charge\"\u003Ecreated a charge\u003C/a\u003E with the capture option set to false.\u003C/p\u003E\n\n\u003Cp\u003EUncaptured payments expire exactly seven days after they are created. If they are not captured by that point in time, they will be marked as refunded and will no longer be capturable.\u003C/p\u003E", "operationId": "ChargeCapture", "parameters": [ { "description": "", "in": "path", "name": "charge", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "amount": { "description": "The amount to capture, which must be less than or equal to the original amount. Any additional amount will be automatically refunded.", "title": "amount", "type": [ "integer" ] }, "application_fee": { "description": "An application fee to add on to this charge. Can only be used with Stripe Connect.", "title": "application_fee", "type": [ "integer" ] }, "receipt_email": { "description": "The email address to send this charge's receipt to. This will override the previously-specified email address for this charge, if one was set. Receipts will not be sent in test mode.", "title": "receipt_email", "type": [ "string" ] }, "statement_descriptor": { "description": "An arbitrary string to be displayed on your customer's credit card statement. This may be up to *22 characters*. As an example, if your website is `RunClub` and the item you're charging for is a race ticket, you may want to specify a `statement_descriptor` of `RunClub 5K race ticket`. The statement description may not include `\u003C\u003E\"'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. Updating this value will overwrite the previous statement descriptor of this charge. While most banks display this information consistently, some may display it incorrectly or not at all.", "title": "statement_descriptor", "type": [ "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/charge" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/charges/{charge}/dispute": { "get": { "description": "", "operationId": "RetrieveChargeDispute", "parameters": [ { "description": "", "in": "path", "name": "charge", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/dispute" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "UpdateChargeDispute", "parameters": [ { "description": "", "in": "path", "name": "charge", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "evidence": { "description": "Evidence to upload to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review.", "title": "evidence", "type": [ "object" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a dispute object. It can be useful for storing additional information about the dispute in a structured format.", "title": "metadata", "type": [ "object" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/dispute" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/charges/{charge}/dispute/close": { "post": { "description": "", "operationId": "CloseChargeDispute", "parameters": [ { "description": "", "in": "path", "name": "charge", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/dispute" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/charges/{charge}/refund": { "post": { "description": "", "operationId": "CreatePaymentRefundWithPaymentResponse", "parameters": [ { "description": "", "in": "path", "name": "charge", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "amount": { "description": "", "title": "amount", "type": [ "integer" ] }, "description": { "description": "", "title": "description", "type": [ "string" ] }, "directive": { "description": "", "title": "directive", "type": [ "string" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] }, "payment": { "description": "", "title": "payment", "type": [ "string" ] }, "reason": { "description": "", "title": "reason", "type": [ "string" ] }, "refund_address": { "description": "", "title": "refund_address", "type": [ "string" ] }, "refund_application_fee": { "description": "", "title": "refund_application_fee", "type": [ "boolean" ] }, "reverse_transfer": { "description": "", "title": "reverse_transfer", "type": [ "boolean" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/charge" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/charges/{charge}/refunds": { "get": { "description": "\u003Cp\u003EYou can see a list of the refunds belonging to a specific charge. Note that the 10 most recent refunds are always available by default on the charge object. If you need more than those 10, you can use this API method and the \u003Ccode\u003Elimit\u003C/code\u003E and \u003Ccode\u003Estarting_after\u003C/code\u003E parameters to page through additional refunds.\u003C/p\u003E", "operationId": "AllChargeRefunds", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "The ID of the charge whose refunds will be retrieved.", "in": "path", "name": "charge", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/refund" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "RefundList", "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "CreateChargeRefund", "parameters": [ { "description": "", "in": "path", "name": "charge", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "amount": { "description": "", "title": "amount", "type": [ "integer" ] }, "directive": { "description": "", "title": "directive", "type": [ "string" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] }, "reason": { "description": "", "title": "reason", "type": [ "string" ] }, "refund_application_fee": { "description": "", "title": "refund_application_fee", "type": [ "boolean" ] }, "reverse_transfer": { "description": "", "title": "reverse_transfer", "type": [ "boolean" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/refund" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/charges/{charge}/refunds/{refund}": { "get": { "description": "", "operationId": "RetrieveChargeRefund", "parameters": [ { "description": "ID of refund to retrieve.", "in": "path", "name": "refund", "required": true, "type": "string" }, { "description": "", "in": "path", "name": "charge", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/refund" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "UpdateChargeRefund", "parameters": [ { "description": "", "in": "path", "name": "charge", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "metadata": { "description": "A set of key/value pairs that you can attach to a refund object. It can be useful for storing additional information about the refund in a structured format.", "title": "metadata", "type": [ "object" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/refund" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/country_specs": { "get": { "description": "\u003Cp\u003ELists all Country Spec objects available in the API.\u003C/p\u003E", "operationId": "AllCountrySpecs", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/country_spec" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/country_specs" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/country_specs/{country}": { "get": { "description": "\u003Cp\u003EReturns a Country Spec for a given Country code.\u003C/p\u003E", "operationId": "RetrieveCountrySpec", "parameters": [ { "description": "An ISO 3166-1 alpha-2 country code. Available country codes can be listed with the [List Country Specs](/docs/api#list_country_specs) endpoint.", "in": "path", "name": "country", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/country_spec" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/coupons": { "get": { "description": "\u003Cp\u003EReturns a list of your coupons.\u003C/p\u003E", "operationId": "AllCoupons", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "A filter on the list based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.", "in": "query", "name": "created", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/coupon" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/coupons" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EYou can create coupons easily via the \u003Ca href=\"https://dashboard.stripe.com/coupons\"\u003Ecoupon management\u003C/a\u003E page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly.\u003C/p\u003E\n\n\u003Cp\u003EA coupon has either a \u003Ccode\u003Epercent_off\u003C/code\u003E or an \u003Ccode\u003Eamount_off\u003C/code\u003E and \u003Ccode\u003Ecurrency\u003C/code\u003E. If you set an \u003Ccode\u003Eamount_off\u003C/code\u003E, that amount will be subtracted from any invoice’s subtotal. For example, an invoice with a subtotal of \u003Ccurrency\u003E100\u003C/currency\u003E will have a final total of \u003Ccurrency\u003E0\u003C/currency\u003E if a coupon with an \u003Ccode\u003Eamount_off\u003C/code\u003E of \u003Camount\u003E200\u003C/amount\u003E is applied to it and an invoice with a subtotal of \u003Ccurrency\u003E300\u003C/currency\u003E will have a final total of \u003Ccurrency\u003E100\u003C/currency\u003E if a coupon with an \u003Ccode\u003Eamount_off\u003C/code\u003E of \u003Camount\u003E200\u003C/amount\u003E is applied to it.\u003C/p\u003E", "operationId": "CreateCoupon", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": true, "schema": { "properties": { "amount_off": { "description": "A positive integer representing the amount to subtract from an invoice total (required if `percent_off` is not passed).", "title": "amount_off", "type": [ "integer" ] }, "currency": { "description": "Currency of the `amount_off` parameter (required if `amount_off` is passed).", "title": "currency", "type": [ "string" ] }, "duration": { "description": "Specifies how long the discount will be in effect. Can be `forever`, `once`, or `repeating`.", "title": "duration", "type": [ "string" ] }, "duration_in_months": { "description": "Required only if `duration` is `repeating`, in which case it must be a positive integer that specifies the number of months the discount will be in effect.", "title": "duration_in_months", "type": [ "integer" ] }, "id": { "description": "Unique string of your choice that will be used to identify this coupon when applying it to a customer. This is often a specific code you'll give to your customer to use when signing up (e.g. *FALL25OFF*). If you don't want to specify a particular code, you can leave the ID blank and we'll generate a random code for you.", "title": "id", "type": [ "string" ] }, "max_redemptions": { "description": "A positive integer specifying the number of times the coupon can be redeemed before it's no longer valid. For example, you might have a 50% off coupon that the first 20 readers of your blog can use.", "title": "max_redemptions", "type": [ "integer" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a coupon object. It can be useful for storing additional information about the coupon in a structured format.", "title": "metadata", "type": [ "object" ] }, "percent_off": { "description": "A positive integer between 1 and 100 that represents the discount the coupon will apply (required if `amount_off` is not passed).", "title": "percent_off", "type": [ "integer" ] }, "redeem_by": { "description": "Unix timestamp specifying the last time at which the coupon can be redeemed. After the redeem_by date, the coupon can no longer be applied to new customers.", "title": "redeem_by", "type": [ "integer" ] } }, "required": [ "duration" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/coupon" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/coupons/{coupon}": { "delete": { "description": "\u003Cp\u003EYou can delete coupons via the \u003Ca href=\"http://dashboard:6090/coupons\"\u003Ecoupon management\u003C/a\u003E page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can’t redeem the coupon. You can also delete coupons via the API.\u003C/p\u003E", "operationId": "DeleteCoupon", "parameters": [ { "description": "The identifier of the coupon to be deleted.", "in": "path", "name": "coupon", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/coupon" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "\u003Cp\u003ERetrieves the coupon with the given ID.\u003C/p\u003E", "operationId": "RetrieveCoupon", "parameters": [ { "description": "The ID of the desired coupon.", "in": "path", "name": "coupon", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/coupon" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable.\u003C/p\u003E", "operationId": "UpdateCoupon", "parameters": [ { "description": "The identifier of the coupon to be updated.", "in": "path", "name": "coupon", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "metadata": { "description": "A set of key/value pairs that you can attach to a coupon object. It can be useful for storing additional information about the coupon in a structured format.", "title": "metadata", "type": [ "object" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/coupon" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/customers": { "get": { "description": "\u003Cp\u003EReturns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.\u003C/p\u003E", "operationId": "AllCustomers", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "", "in": "query", "name": "created", "required": false, "type": "integer" }, { "description": "", "in": "query", "name": "deleted", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/customer" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/customers" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003ECreates a new customer object.\u003C/p\u003E", "operationId": "CustomerCreateWithPlan", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "account_balance": { "description": "An integer amount in %s that is the starting account balance for your customer. A negative amount represents a credit that will be used before attempting any charges to the customer's card; a positive amount will be added to the next invoice.", "title": "account_balance", "type": [ "integer" ] }, "business_vat_id": { "description": "The customer's VAT identification number. If you are using Relay, this field gets passed to tax provider you are using for your orders.", "title": "business_vat_id", "type": [ "string" ] }, "coupon": { "description": "If you provide a coupon code, the customer will have a discount applied on all recurring charges. Charges you create through the API will not have the discount.", "title": "coupon", "type": [ "string" ] }, "description": { "description": "An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard.", "title": "description", "type": [ "string" ] }, "email": { "description": "Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking.", "title": "email", "type": [ "string" ] }, "max_occurrences": { "description": "", "title": "max_occurrences", "type": [ "integer" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a customer object. It can be useful for storing additional information about the customer in a structured format.", "title": "metadata", "type": [ "object" ] }, "pay_immediately": { "description": "", "title": "pay_immediately", "type": [ "boolean" ] }, "retains_own_balance": { "description": "", "title": "retains_own_balance", "type": [ "boolean" ] }, "shipping": { "description": "", "title": "shipping", "type": [ "object" ] }, "source": { "description": "The source can either be a token, like the ones returned by our [Stripe.js](/docs/stripe.js), or a dictionary containing a user's credit card details (with the options shown below).", "title": "source", "type": [ "object", "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/customer" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/customers/{customer}": { "delete": { "description": "\u003Cp\u003EPermanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.\u003C/p\u003E", "operationId": "DeleteCustomer", "parameters": [ { "description": "The identifier of the customer to be deleted.", "in": "path", "name": "customer", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/customer" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "\u003Cp\u003ERetrieves the details of an existing customer. You need only supply the unique customer identifier that was returned upon customer creation.\u003C/p\u003E", "operationId": "RetrieveCustomer", "parameters": [ { "description": "The identifier of the customer to be retrieved.", "in": "path", "name": "customer", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/customer" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "CustomerUpdateWithPlan", "parameters": [ { "description": "", "in": "path", "name": "customer", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "account_balance": { "description": "An integer amount in %s that is the starting account balance for your customer. A negative amount represents a credit that will be used before attempting any charges to the customer's card; a positive amount will be added to the next invoice.", "title": "account_balance", "type": [ "integer" ] }, "business_vat_id": { "description": "The customer's VAT identification number. If you are using Relay, this field gets passed to tax provider you are using for your orders.", "title": "business_vat_id", "type": [ "string" ] }, "coupon": { "description": "If you provide a coupon code, the customer will have a discount applied on all recurring charges. Charges you create through the API will not have the discount.", "title": "coupon", "type": [ "string" ] }, "description": { "description": "An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard.", "title": "description", "type": [ "string" ] }, "email": { "description": "Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking.", "title": "email", "type": [ "string" ] }, "max_occurrences": { "description": "", "title": "max_occurrences", "type": [ "integer" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a customer object. It can be useful for storing additional information about the customer in a structured format.", "title": "metadata", "type": [ "object" ] }, "pay_immediately": { "description": "", "title": "pay_immediately", "type": [ "boolean" ] }, "retains_own_balance": { "description": "", "title": "retains_own_balance", "type": [ "boolean" ] }, "shipping": { "description": "", "title": "shipping", "type": [ "object" ] }, "source": { "description": "The source can either be a token, like the ones returned by our [Stripe.js](/docs/stripe.js), or a dictionary containing a user's credit card details (with the options shown below).", "title": "source", "type": [ "object", "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/customer" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/customers/{customer}/alipay_accounts": { "get": { "description": "", "operationId": "AllCustomerAlipayAccounts", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "The ID of the customer whose Alipay accounts will be retrieved.", "in": "path", "name": "customer", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/alipay_account" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "AlipayAccountList", "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "CreateCustomerSource", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "metadata": { "description": "A set of key/value pairs that you can attach to a card object. It can be useful for storing additional information about the card in a structured format.", "title": "metadata", "type": [ "object" ] }, "source": { "description": "This string to be replaced by DocSpecGenerator.", "title": "source", "type": [ "object", "string" ] } }, "required": [ "source" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/customer_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/customers/{customer}/alipay_accounts/{id}": { "delete": { "description": "", "operationId": "DeleteCustomerSource", "parameters": [ { "description": "The ID of the source to be deleted.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/customer_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "", "operationId": "RetrieveCustomerAlipayAccount", "parameters": [ { "description": "The ID of the Alipay account to be retrieved.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/alipay_account" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/customers/{customer}/bank_accounts": { "get": { "description": "\u003Cp\u003EYou can see a list of the bank accounts belonging to a Customer. Note that the 10 most recent sources are always available by default on the Customer. If you need more than those 10, you can use this API method and the \u003Ccode\u003Elimit\u003C/code\u003E and \u003Ccode\u003Estarting_after\u003C/code\u003E parameters to page through additional bank accounts.\u003C/p\u003E", "operationId": "AllCustomerBankAccounts", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "The ID of the customer whose bank accounts will be retrieved.", "in": "path", "name": "customer", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/payment_bank_account" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "PaymentBankAccountList", "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "CreateCustomerSource", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "metadata": { "description": "A set of key/value pairs that you can attach to a card object. It can be useful for storing additional information about the card in a structured format.", "title": "metadata", "type": [ "object" ] }, "source": { "description": "This string to be replaced by DocSpecGenerator.", "title": "source", "type": [ "object", "string" ] } }, "required": [ "source" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/customer_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/customers/{customer}/bank_accounts/{id}": { "delete": { "description": "", "operationId": "DeleteCustomerSource", "parameters": [ { "description": "The ID of the source to be deleted.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/customer_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "\u003Cp\u003EBy default, you can see the 10 most recent sources stored on a Customer directly on the object, but you can also retrieve details about a specific bank account stored on the Stripe account.\u003C/p\u003E", "operationId": "RetrieveCustomerBankAccount", "parameters": [ { "description": "ID of bank account to retrieve.", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "", "in": "path", "name": "customer", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/payment_bank_account" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "UpdateCustomerCard", "parameters": [ { "description": "The ID of the card to be updated.", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "address_city": { "description": "", "title": "address_city", "type": [ "string" ] }, "address_country": { "description": "", "title": "address_country", "type": [ "string" ] }, "address_line1": { "description": "", "title": "address_line1", "type": [ "string" ] }, "address_line2": { "description": "", "title": "address_line2", "type": [ "string" ] }, "address_state": { "description": "", "title": "address_state", "type": [ "string" ] }, "address_zip": { "description": "", "title": "address_zip", "type": [ "string" ] }, "cvc": { "description": "", "title": "cvc", "type": [ "string" ] }, "exp_month": { "description": "", "title": "exp_month", "type": [ "string" ] }, "exp_year": { "description": "", "title": "exp_year", "type": [ "string" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] }, "name": { "description": "", "title": "name", "type": [ "string" ] }, "validate": { "description": "", "title": "validate", "type": [ "boolean" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/payment_card" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/customers/{customer}/bank_accounts/{id}/verify": { "post": { "description": "", "operationId": "VerifyCustomerSource", "parameters": [ { "description": "The ID of the source to be verified.", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "", "in": "path", "name": "customer", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "amounts": { "description": "Two positive integers in **cents** equal to the values of the microdeposits sent to the bank account.", "title": "amounts", "type": [ "array" ] }, "verification_method": { "description": "", "title": "verification_method", "type": [ "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/payment_bank_account" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/customers/{customer}/cards": { "get": { "description": "", "operationId": "AllCustomerCards", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "The ID of the customer whose cards will be retrieved.", "in": "path", "name": "customer", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/payment_card" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "PaymentCardList", "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "CreateCustomerSource", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "metadata": { "description": "A set of key/value pairs that you can attach to a card object. It can be useful for storing additional information about the card in a structured format.", "title": "metadata", "type": [ "object" ] }, "source": { "description": "This string to be replaced by DocSpecGenerator.", "title": "source", "type": [ "object", "string" ] } }, "required": [ "source" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/customer_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/customers/{customer}/cards/{id}": { "delete": { "description": "", "operationId": "DeleteCustomerSource", "parameters": [ { "description": "The ID of the source to be deleted.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/customer_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "", "operationId": "RetrieveCustomerCard", "parameters": [ { "description": "The ID of the card to be retrieved.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/payment_card" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "UpdateCustomerCard", "parameters": [ { "description": "The ID of the card to be updated.", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "address_city": { "description": "", "title": "address_city", "type": [ "string" ] }, "address_country": { "description": "", "title": "address_country", "type": [ "string" ] }, "address_line1": { "description": "", "title": "address_line1", "type": [ "string" ] }, "address_line2": { "description": "", "title": "address_line2", "type": [ "string" ] }, "address_state": { "description": "", "title": "address_state", "type": [ "string" ] }, "address_zip": { "description": "", "title": "address_zip", "type": [ "string" ] }, "cvc": { "description": "", "title": "cvc", "type": [ "string" ] }, "exp_month": { "description": "", "title": "exp_month", "type": [ "string" ] }, "exp_year": { "description": "", "title": "exp_year", "type": [ "string" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] }, "name": { "description": "", "title": "name", "type": [ "string" ] }, "validate": { "description": "", "title": "validate", "type": [ "boolean" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/payment_card" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/customers/{customer}/discount": { "delete": { "description": "\u003Cp\u003ERemoves the currently applied discount on a customer.\u003C/p\u003E", "operationId": "DeleteCustomerDiscount", "parameters": [ ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/discount" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "", "operationId": "RetrieveCustomerDiscount", "parameters": [ { "description": "", "in": "path", "name": "customer", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/discount" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/customers/{customer}/sources": { "get": { "description": "", "operationId": "AllCustomerSources", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "The ID of the customer whose sources will be retrieved.", "in": "path", "name": "customer", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "type": [ "object" ] }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "SourceList", "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "CreateCustomerSource", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "metadata": { "description": "A set of key/value pairs that you can attach to a card object. It can be useful for storing additional information about the card in a structured format.", "title": "metadata", "type": [ "object" ] }, "source": { "description": "This string to be replaced by DocSpecGenerator.", "title": "source", "type": [ "object", "string" ] } }, "required": [ "source" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/customer_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/customers/{customer}/sources/{id}": { "delete": { "description": "", "operationId": "DeleteCustomerSource", "parameters": [ { "description": "The ID of the source to be deleted.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/customer_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "", "operationId": "RetrieveCustomerSource", "parameters": [ { "description": "The ID of the source to be retrieved.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/customer_source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "UpdateCustomerCard", "parameters": [ { "description": "The ID of the card to be updated.", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "address_city": { "description": "", "title": "address_city", "type": [ "string" ] }, "address_country": { "description": "", "title": "address_country", "type": [ "string" ] }, "address_line1": { "description": "", "title": "address_line1", "type": [ "string" ] }, "address_line2": { "description": "", "title": "address_line2", "type": [ "string" ] }, "address_state": { "description": "", "title": "address_state", "type": [ "string" ] }, "address_zip": { "description": "", "title": "address_zip", "type": [ "string" ] }, "cvc": { "description": "", "title": "cvc", "type": [ "string" ] }, "exp_month": { "description": "", "title": "exp_month", "type": [ "string" ] }, "exp_year": { "description": "", "title": "exp_year", "type": [ "string" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] }, "name": { "description": "", "title": "name", "type": [ "string" ] }, "validate": { "description": "", "title": "validate", "type": [ "boolean" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/payment_card" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/customers/{customer}/sources/{id}/verify": { "post": { "description": "", "operationId": "VerifyCustomerSource", "parameters": [ { "description": "The ID of the source to be verified.", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "", "in": "path", "name": "customer", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "amounts": { "description": "Two positive integers in **cents** equal to the values of the microdeposits sent to the bank account.", "title": "amounts", "type": [ "array" ] }, "verification_method": { "description": "", "title": "verification_method", "type": [ "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/payment_bank_account" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/customers/{customer}/subscriptions": { "get": { "description": "\u003Cp\u003EYou can see a list of the customer’s active subscriptions. Note that the 10 most recent active subscriptions are always available by default on the customer object. If you need more than those 10, you can use the limit and starting_after parameters to page through additional subscriptions.\u003C/p\u003E", "operationId": "AllCustomerSubscriptions", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "The ID of the customer whose subscriptions will be retrieved.", "in": "path", "name": "customer", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/subscription" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "SubscriptionList", "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003ECreates a new subscription on an existing customer.\u003C/p\u003E", "operationId": "CreateCustomerSubscription", "parameters": [ { "description": "The identifier of the customer to subscribe.", "in": "path", "name": "customer", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "account_balance": { "description": "", "title": "account_balance", "type": [ "integer" ] }, "application_fee_percent": { "description": "A positive decimal (with at most four decimal places) between 1 and 100. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made with an OAuth key in order to set an application fee percentage. For more information, see the application fees [documentation](http://127.0.0.1:6040/docs/connect/collecting-fees#subscriptions).", "title": "application_fee_percent", "type": [ "number" ] }, "billing": { "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions.", "title": "billing", "type": [ "string" ] }, "coupon": { "description": "The code of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.", "title": "coupon", "type": [ "string" ] }, "days_until_due": { "description": "Number of days a customer has to pay invoices generated by this subscription.", "title": "days_until_due", "type": [ "integer" ] }, "items": { "description": "List of subscription items, each with an attached plan.", "title": "items", "type": [ "array" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a subscription object. It can be useful for storing additional information about the subscription in a structured format.", "title": "metadata", "type": [ "object" ] }, "plan": { "description": "The identifier of the plan to subscribe the customer to.", "title": "plan", "type": [ "string" ] }, "prorate": { "description": "", "title": "prorate", "type": [ "boolean" ] }, "quantity": { "description": "The quantity you'd like to apply to the subscription you're creating. For example, if your plan is \u003Ccurrency\u003E10\u003C/currency\u003E/user/month, and your customer has 5 users, you could pass 5 as the quantity to have the customer charged \u003Ccurrency\u003E50\u003C/currency\u003E (5 x \u003Ccurrency\u003E10\u003C/currency\u003E) monthly. If you update a subscription but don't change the plan ID (e.g. changing only the trial_end), the subscription will inherit the old subscription's quantity attribute unless you pass a new quantity parameter. If you update a subscription and change the plan ID, the new subscription will not inherit the quantity attribute and will default to 1 unless you pass a quantity parameter.", "title": "quantity", "type": [ "integer" ] }, "retains_own_balance": { "description": "", "title": "retains_own_balance", "type": [ "boolean" ] }, "source": { "description": "The source can either be a token, like the ones returned by our [Stripe.js](http://127.0.0.1:6040/docs/stripe.js), or a dictionary containing a user's credit card details (with the options shown below). You must provide a source if the customer does not already have a valid source attached, and you are subscribing the customer for a plan that is not free. Passing `source` will create a new source object, make it the customer default source, and delete the old customer default if one exists. If you want to add an additional source to use with subscriptions, instead use the [card creation API](http://127.0.0.1:6040/docs/api#create_card) to add the card and then the [customer update API](http://127.0.0.1:6040/docs/api#update customer) to set it as the default. Whenever you attach a card to a customer, Stripe will automatically validate the card.", "title": "source", "type": [ "object", "string" ] }, "tax_percent": { "description": "A positive decimal (with at most four decimal places) between 1 and 100. This represents the percentage of the subscription invoice subtotal that will be calculated and added as tax to the final amount each billing period. For example, a plan which charges $10/month with a `tax_percent` of 20.0 will charge $12 per invoice.", "title": "tax_percent", "type": [ "number" ] }, "trial_end": { "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately.", "title": "trial_end", "type": [ "integer", "string" ] }, "trial_period_days": { "description": "Integer representing the number of trial period days before the customer is charged for the first time. If set, `trial_period_days` overrides the default trial period days of the plan the customer is being subscribed to.", "title": "trial_period_days", "type": [ "integer" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/subscription" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/customers/{customer}/subscriptions/{subscription_exposed_id}": { "delete": { "description": "\u003Cp\u003ECancels a customer’s subscription. If you set the \u003Ccode\u003Eat_period_end\u003C/code\u003E parameter to true, the subscription will remain active until the end of the period, at which point it will be canceled and not renewed. By default, the subscription is terminated immediately. In either case, the customer will not be charged again for the subscription. Note, however, that any pending invoice items that you’ve created will still be charged for at the end of the period unless manually \u003Ca href=\"#delete_invoiceitem\"\u003Edeleted\u003C/a\u003E. If you’ve set the subscription to cancel at period end, any pending prorations will also be left in place and collected at the end of the period, but if the subscription is set to cancel immediately, pending prorations will be removed.\u003C/p\u003E\n\n\u003Cp\u003EBy default, all unpaid invoices for the customer will be closed upon subscription cancellation. We do this in order to prevent unexpected payment retries once the customer has canceled a subscription. However, you can reopen the invoices manually after subscription cancellation to have us proceed with automatic retries, or you could even re-attempt payment yourself on all unpaid invoices before allowing the customer to cancel the subscription at all.\u003C/p\u003E", "operationId": "DeleteCustomerSubscription", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "at_period_end": { "description": "A flag that if set to true will delay the cancellation of the subscription until the end of the current period.", "title": "at_period_end", "type": [ "boolean" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/subscription" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "\u003Cp\u003ERetrieves the subscription with the given ID.\u003C/p\u003E", "operationId": "RetrieveCustomerSubscription", "parameters": [ ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/subscription" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the \u003Ca href=\"#upcoming_invoice\"\u003Eupcoming invoice\u003C/a\u003E endpoint.\u003C/p\u003E", "operationId": "UpdateCustomerSubscription", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "account_balance": { "description": "", "title": "account_balance", "type": [ "integer" ] }, "application_fee_percent": { "description": "A positive decimal (with at most four decimal places) between 1 and 100. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made with an OAuth key in order to set an application fee percentage. For more information, see the application fees [documentation]('/docs/connect/collecting-fees#subscriptions').", "title": "application_fee_percent", "type": [ "number" ] }, "billing": { "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions.", "title": "billing", "type": [ "string" ] }, "coupon": { "description": "The code of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.", "title": "coupon", "type": [ "string" ] }, "days_until_due": { "description": "Number of days a customer has to pay invoices generated by this subscription.", "title": "days_until_due", "type": [ "integer" ] }, "items": { "description": "List of subscription items, each with an attached plan.", "title": "items", "type": [ "array" ] }, "max_occurrences": { "description": "", "title": "max_occurrences", "type": [ "integer" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a subscription object. It can be useful for storing additional information about the subscription in a structured format.", "title": "metadata", "type": [ "object" ] }, "pay_immediately": { "description": "", "title": "pay_immediately", "type": [ "boolean" ] }, "plan": { "description": "The identifier of the plan to update the subscription to. If omitted, the subscription will not change plans.", "title": "plan", "type": [ "string" ] }, "prorate": { "description": "Flag telling us whether to prorate switching plans during a billing cycle.", "title": "prorate", "type": [ "boolean" ] }, "proration_date": { "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](#retrieve_customer_invoice) endpoint. It can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations.", "title": "proration_date", "type": [ "integer" ] }, "quantity": { "description": "The quantity you'd like to apply to the subscription you're updating. For example, if your plan is \u003Ccurrency\u003E10\u003C/currency\u003E/user/month, and your customer has 5 users, you could pass 5 as the quantity to have the customer charged \u003Ccurrency\u003E50\u003C/currency\u003E (5 x \u003Ccurrency\u003E10\u003C/currency\u003E) monthly. If you update a subscription but don't change the plan ID (e.g. changing only the trial_end), the subscription will inherit the old subscription's quantity attribute unless you pass a new quantity parameter. If you update a subscription and change the plan ID, the new subscription will not inherit the quantity attribute and will default to 1 unless you pass a quantity parameter.", "title": "quantity", "type": [ "integer" ] }, "retains_own_balance": { "description": "", "title": "retains_own_balance", "type": [ "boolean" ] }, "source": { "description": "The source can either be a token, like the ones returned by our [Stripe.js](http://127.0.0.1:6040/docs/stripe.js), or a dictionary containing a user's credit card details (with the options shown below). You must provide a source if the customer does not already have a valid source attached, and you are subscribing the customer for a plan that is not free. Passing `source` will create a new source object, make it the customer default source, and delete the old customer default if one exists. If you want to add an additional source to use with subscriptions, instead use the [card creation API](http://127.0.0.1:6040/docs/api#create_card) to add the card and then the [customer update API](http://127.0.0.1:6040/docs/api#update customer) to set it as the default. Whenever you attach a card to a customer, Stripe will automatically validate the card.", "title": "source", "type": [ "object", "string" ] }, "tax_percent": { "description": "A positive decimal (with at most four decimal places) between 1 and 100. This represents the percentage of the subscription invoice subtotal that will be calculated and added as tax to the final amount each billing period. For example, a plan which charges $10/month with a `tax_percent` of 20.0 will charge $12 per invoice.", "title": "tax_percent", "type": [ "number" ] }, "trial_end": { "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately.", "title": "trial_end", "type": [ "integer", "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/subscription" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/customers/{customer}/subscriptions/{subscription_exposed_id}/discount": { "delete": { "description": "\u003Cp\u003ERemoves the currently applied discount on a customer.\u003C/p\u003E", "operationId": "DeleteCustomerDiscount", "parameters": [ ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/discount" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "", "operationId": "RetrieveCustomerDiscount", "parameters": [ { "description": "", "in": "path", "name": "customer", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/discount" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/disputes": { "get": { "description": "\u003Cp\u003EReturns a list of your disputes.\u003C/p\u003E", "operationId": "AllDisputes", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "", "in": "query", "name": "created", "required": false, "type": "integer" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/dispute" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/disputes" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/disputes/{dispute}": { "get": { "description": "\u003Cp\u003ERetrieves the dispute with the given ID.\u003C/p\u003E", "operationId": "RetrieveDispute", "parameters": [ { "description": "ID of dispute to retrieve.", "in": "path", "name": "dispute", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/dispute" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EWhen you get a dispute, contacting your customer is always the best first step. If that doesn’t work, you can submit evidence in order to help us resolve the dispute in your favor. You can do this in your \u003Ca href=\"http://dashboard:6090/disputes\"\u003Edashboard\u003C/a\u003E, but if you prefer, you can use the API to submit evidence programmatically.\u003C/p\u003E\n\n\u003Cp\u003EDepending on your dispute type, different evidence fields will give you a better chance of winning your dispute. You may want to consult our \u003Ca href=\"http://127.0.0.1:6040/help/dispute-types\"\u003Eguide to dispute types\u003C/a\u003E to help you figure out which evidence fields to provide.\u003C/p\u003E", "operationId": "UpdateDispute", "parameters": [ { "description": "ID of the dispute to update.", "in": "path", "name": "dispute", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "evidence": { "description": "Evidence to upload to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review.", "title": "evidence", "type": [ "object" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a dispute object. It can be useful for storing additional information about the dispute in a structured format.", "title": "metadata", "type": [ "object" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/dispute" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/disputes/{dispute}/close": { "post": { "description": "\u003Cp\u003EClosing the dispute for a charge indicates that you do not have any evidence to submit and are essentially ‘dismissing’ the dispute, acknowledging it as lost\u003C/p\u003E\n\n\u003Cp\u003EThe status of the dispute will change from \u003Ccode\u003Eneeds_response\u003C/code\u003E to \u003Ccode\u003Elost\u003C/code\u003E. \u003Cstrong\u003EClosing a dispute is irreversible\u003C/strong\u003E.\u003C/p\u003E", "operationId": "CloseDispute", "parameters": [ { "description": "ID of dispute to close.", "in": "path", "name": "dispute", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/dispute" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/events": { "get": { "description": "\u003Cp\u003EList events, going back up to 30 days.\u003C/p\u003E", "operationId": "AllEvents", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "A string containing a specific event name, or group of events using * as a wildcard. The list will be filtered to include only events with a matching event property.", "in": "query", "name": "type", "required": false, "type": "string" }, { "description": "An array of up to 20 strings containing specific event names. The list will be filtered to include only events with a matching event property. You may pass either `type` or `types`, but not both.", "in": "query", "name": "types", "required": false, "type": "array" }, { "description": "", "in": "query", "name": "created", "required": false, "type": "integer" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/event" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/events" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/events/{id}": { "get": { "description": "\u003Cp\u003ERetrieves the details of an event. Supply the unique identifier of the event, which you might have received in a webhook.\u003C/p\u003E", "operationId": "RetrieveEvent", "parameters": [ { "description": "The identifier of the event to be retrieved.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/event" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/events/{id}/retry": { "post": { "description": "\u003Cp\u003EResend an event. This only works in testmode\u003C/p\u003E", "operationId": "RetryEvent", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/event" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/invoiceitems": { "get": { "description": "\u003Cp\u003EReturns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently created invoice items appearing first.\u003C/p\u003E", "operationId": "AllInvoiceItems", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "The identifier of the customer whose invoice items to return. If none is provided, all invoice items will be returned.", "in": "query", "name": "customer", "required": false, "type": "string" }, { "description": "", "in": "query", "name": "created", "required": false, "type": "integer" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/invoice_item" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/invoiceitems" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EAdds an arbitrary charge or credit to the customer’s upcoming invoice.\u003C/p\u003E", "operationId": "CreateInvoiceItem", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": true, "schema": { "properties": { "amount": { "description": "The integer amount in %s of the charge to be applied to the upcoming invoice. To apply a credit to the customer's account, pass a negative amount.", "title": "amount", "type": [ "integer" ] }, "currency": { "description": "3-letter [ISO code for currency](https://support.stripe.com/questions/which-currencies-does-stripe-support).", "title": "currency", "type": [ "string" ] }, "customer": { "description": "The ID of the customer who will be billed when this invoice item is billed.", "title": "customer", "type": [ "string" ] }, "description": { "description": "An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.", "title": "description", "type": [ "string" ] }, "discountable": { "description": "Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items.", "title": "discountable", "type": [ "boolean" ] }, "invoice": { "description": "The ID of an existing invoice to add this invoice item to. When left blank, the invoice item will be added to the next upcoming scheduled invoice. Use this when adding invoice items in response to an invoice.created webhook. You cannot add an invoice item to an invoice that has already been paid, attempted or closed.", "title": "invoice", "type": [ "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to an invoice item object. It can be useful for storing additional information about the invoice item in a structured format.", "title": "metadata", "type": [ "object" ] }, "subscription": { "description": "The ID of a subscription to add this invoice item to. When left blank, the invoice item will be be added to the next upcoming scheduled invoice. When set, scheduled invoices for subscriptions other than the specified subscription will ignore the invoice item. Use this when you want to express that an invoice item has been accrued within the context of a particular subscription.", "title": "subscription", "type": [ "string" ] } }, "required": [ "amount", "currency", "customer" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/invoice_item" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/invoiceitems/{invoiceitem}": { "delete": { "description": "\u003Cp\u003ERemoves an invoice item from the upcoming invoice. Removing an invoice item is only possible before the invoice it’s attached to is closed.\u003C/p\u003E", "operationId": "DeleteInvoiceItem", "parameters": [ { "description": "The identifier of the invoice item to be deleted.", "in": "path", "name": "invoiceitem", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/invoice_item" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "\u003Cp\u003ERetrieves the invoice item with the given ID.\u003C/p\u003E", "operationId": "RetrieveInvoiceItem", "parameters": [ { "description": "The ID of the desired invoice item.", "in": "path", "name": "invoiceitem", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/invoice_item" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only possible before the invoice it’s attached to is closed.\u003C/p\u003E", "operationId": "UpdateInvoiceItem", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "amount": { "description": "The integer amount in **%s** of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer's account, pass a negative amount.", "title": "amount", "type": [ "integer" ] }, "description": { "description": "An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.", "title": "description", "type": [ "string" ] }, "discountable": { "description": "Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items. Cannot be set to true for prorations.", "title": "discountable", "type": [ "boolean" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to an invoice item object. It can be useful for storing additional information about the invoice item in a structured format.", "title": "metadata", "type": [ "object" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/invoice_item" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/invoices": { "get": { "description": "\u003Cp\u003EYou can list all invoices, or list the invoices for a specific customer. The invoices are returned sorted by creation date, with the most recently created invoices appearing first.\u003C/p\u003E", "operationId": "AllInvoices", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "The identifier of the customer whose invoices to return. If none is provided, all invoices will be returned.", "in": "query", "name": "customer", "required": false, "type": "string" }, { "description": "", "in": "query", "name": "subscription", "required": false, "type": "string" }, { "description": "", "in": "query", "name": "date", "required": false, "type": "integer" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/invoice" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/invoices" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EIf you need to invoice your customer outside the regular billing cycle, you can create an invoice that pulls in all pending invoice items, including prorations. The customer’s billing cycle and regular subscription won’t be affected.\u003C/p\u003E\n\n\u003Cp\u003EOnce you create the invoice, it’ll be picked up and paid automatically, though you can choose to \u003Ca href=\"#pay_invoice\"\u003Epay it right\u003C/a\u003E away.\u003C/p\u003E", "operationId": "CreateInvoice", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "application_fee": { "description": "A fee in %s that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](/docs/connect/collecting-fees#subscriptions).", "title": "application_fee", "type": [ "integer" ] }, "billing": { "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions.", "title": "billing", "type": [ "string" ] }, "customer": { "description": "", "title": "customer", "type": [ "string" ] }, "days_until_due": { "description": "The number of days from which the invoice is created until it is due.", "title": "days_until_due", "type": [ "integer" ] }, "description": { "description": "", "title": "description", "type": [ "string" ] }, "due_date": { "description": "The date on which payment for this invoice is due.", "title": "due_date", "type": [ "integer" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] }, "statement_descriptor": { "description": "Extra information about a charge for the customer's credit card statement.", "title": "statement_descriptor", "type": [ "string" ] }, "subscription": { "description": "The ID of the subscription to invoice. If not set, the created invoice will include all pending invoice items for the customer. If set, the created invoice will exclude pending invoice items that pertain to other subscriptions.", "title": "subscription", "type": [ "string" ] }, "tax_percent": { "description": "The percent tax rate applied to the invoice, represented as a decimal number.", "title": "tax_percent", "type": [ "number" ] } }, "required": [ "customer" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/invoice" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/invoices/upcoming": { "get": { "description": "\u003Cp\u003EAt any time, you can preview the upcoming invoice for a customer. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discount that is applicable to the customer.\u003C/p\u003E\n\n\u003Cp\u003ENote that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer’s discount.\u003C/p\u003E\n\n\u003Cp\u003EYou can preview the effects of updating a subscription, including a preview of what proration will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass a \u003Ccode\u003Eproration_date\u003C/code\u003E parameter when doing the actual subscription update. The value passed in should be the same as the \u003Ccode\u003Esubscription_proration_date\u003C/code\u003E returned on the upcoming invoice resource. The recommended way to get only the prorations being previewed is to consider only proration line items where \u003Ccode\u003Eperiod[start]\u003C/code\u003E is equal to the \u003Ccode\u003Esubscription_proration_date\u003C/code\u003E on the upcoming invoice resource.\u003C/p\u003E", "operationId": "RetrieveCustomerUpcomingInvoice", "parameters": [ { "description": "The identifier of the customer whose upcoming invoice you'd like to retrieve.", "in": "query", "name": "customer", "required": true, "type": "string" }, { "description": "The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a `subscription_plan` is provided, you will preview creating a subscription to that plan. If neither `subscription` nor `subscription_plan` is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions.", "in": "query", "name": "subscription", "required": false, "type": "string" }, { "description": "If set, the invoice returned will preview updating the subscription given to this plan, or creating a new subscription to this plan if no `subscription` is given.", "in": "query", "name": "subscription_plan", "required": false, "type": "string" }, { "description": "If provided, the invoice returned will preview updating or creating a subscription with that quantity. If set, one of `subscription_plan` or `subscription` is required.", "in": "query", "name": "subscription_quantity", "required": false, "type": "integer" }, { "description": "If previewing an update to a subscription, this decides whether the preview will show the result of applying prorations or not. If set, one of `subscription_plan` or `subscription`, and one of `subscription_plan`, `subscription_quantity` or `subscription_trial_end` are required.", "in": "query", "name": "subscription_prorate", "required": false, "type": "boolean" }, { "description": "If previewing an update to a subscription, and doing proration, `subscription_proration_date` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period, and cannot be before the subscription was on its current plan.If set, `subscription`, and one of `subscription_plan`, `subscription_quantity` or `subscription_trial_end` are required. Also, `subscription_proration` cannot be set to false.", "in": "query", "name": "subscription_proration_date", "required": false, "type": "integer" }, { "description": "If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of `subscription_plan` or `subscription` is required.", "in": "query", "name": "subscription_trial_end", "required": false, "type": "integer" }, { "description": "The code of the coupon to apply. If a `subscription` or `subscription_plan` is provided, the invoice returned will preview updating or creating a subscription with that coupon. Otherwise, it will preview applying that coupon to the customer for the next upcoming invoice from among the customer's subscriptions.", "in": "query", "name": "coupon", "required": false, "type": "string" }, { "description": "List of subscription items, each with an attached plan.", "in": "query", "name": "subscription_items", "required": false, "type": "array" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/upcoming_invoice" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/invoices/{invoice}": { "get": { "description": "\u003Cp\u003ERetrieves the invoice with the given ID.\u003C/p\u003E", "operationId": "RetrieveInvoice", "parameters": [ { "description": "The identifier of the desired invoice.", "in": "path", "name": "invoice", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/invoice" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUntil an invoice is paid, it is marked as open (closed=false). If you’d like to stop Stripe from automatically attempting payment on an invoice or would simply like to close the invoice out as no longer owed by the customer, you can update the closed parameter.\u003C/p\u003E", "operationId": "UpdateInvoice", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "application_fee": { "description": "A fee in %s that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](/docs/connect/collecting-fees#subscriptions).", "title": "application_fee", "type": [ "integer" ] }, "closed": { "description": "Boolean representing whether an invoice is closed or not. To close an invoice, pass true.", "title": "closed", "type": [ "boolean" ] }, "description": { "description": "", "title": "description", "type": [ "string" ] }, "forgiven": { "description": "Boolean representing whether an invoice is forgiven or not. To forgive an invoice, pass true. Forgiving an invoice instructs us to update the subscription status as if the invoice were successfully paid. Once an invoice has been forgiven, it cannot be unforgiven or reopened.", "title": "forgiven", "type": [ "boolean" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] }, "paid": { "description": "Boolean representing whether an invoice is paid or not. To mark invoice as paid, pass true.", "title": "paid", "type": [ "boolean" ] }, "statement_descriptor": { "description": "Extra information about a charge for the customer's credit card statement.", "title": "statement_descriptor", "type": [ "string" ] }, "tax_percent": { "description": "The percent tax rate applied to the invoice, represented as a decimal number. The tax rate of an attempted, paid or forgiven invoice cannot be changed.", "title": "tax_percent", "type": [ "number" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/invoice" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/invoices/{invoice}/lines": { "get": { "description": "\u003Cp\u003EWhen retrieving an invoice, you’ll get a \u003Cstrong\u003Elines\u003C/strong\u003E property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.\u003C/p\u003E", "operationId": "AllInvoiceLines", "parameters": [ { "description": "The maximum number of line items to return.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "The id of the invoice containing the lines to be retrieved.", "in": "path", "name": "invoice", "required": true, "type": "string" }, { "description": "In the case of upcoming invoices, the customer of the upcoming invoice is required. In other cases it is ignored.", "in": "query", "name": "customer", "required": false, "type": "string" }, { "description": "In the case of upcoming invoices, the subscription of the upcoming invoice is optional. In other cases it is ignored.", "in": "query", "name": "subscription", "required": false, "type": "string" }, { "description": "For upcoming invoices, preview updating the subscription given to this plan, or creating a new subscription to this plan if no `subscription` is given. Otherwise this parameter is ignored.", "in": "query", "name": "subscription_plan", "required": false, "type": "string" }, { "description": "For upcoming invoices, preview updating or creating a subscription with that quantity. If set, one of `subscription_plan` or `subscription` is required. Otherwise this parameter is ignored.", "in": "query", "name": "subscription_quantity", "required": false, "type": "integer" }, { "description": "For upcoming invoices, this decides whether the preview will show the result of applying prorations or not. If set, one of `subscription_plan` or `subscription`, and one of `subscription_plan`, `subscription_quantity` or `subscription_trial_end` are required. Otherwise this parameter is ignored.", "in": "query", "name": "subscription_prorate", "required": false, "type": "boolean" }, { "description": "For previewing upcoming invoices with proration, `subscription_proration_date` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period, and cannot be before the subscription was on its current plan.If set, `subscription`, and one of `subscription_plan`, `subscription_quantity` or `subscription_trial_end` are required. Also, `subscription_proration` cannot be set to false. Otherwise this parameter is ignored.", "in": "query", "name": "subscription_proration_date", "required": false, "type": "integer" }, { "description": "For upcoming invoices, preview updating or creating a subscription with that trial end. If set, one of `subscription_plan` or `subscription` is required. Otherwise this parameter is ignored.", "in": "query", "name": "subscription_trial_end", "required": false, "type": "integer" }, { "description": "For upcoming invoices, preview applying this coupon to the invoice. If a `subscription` or `subscription_plan` is provided, the invoice returned will preview updating or creating a subscription with that coupon. Otherwise, it will preview applying that coupon to the customer for the next upcoming invoice from among the customer's subscriptions. Otherwise this parameter is ignored.", "in": "query", "name": "coupon", "required": false, "type": "string" }, { "description": "For upcoming invoices, preview updating the subscription with this list of items. Otherwise this parameter is ignored.", "in": "query", "name": "subscription_items", "required": false, "type": "array" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/invoice_line_item" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "InvoiceLines", "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/invoices/{invoice}/pay": { "post": { "description": "\u003Cp\u003EStripe automatically creates and then attempts to pay invoices for customers on subscriptions. We’ll also retry unpaid invoices according to your \u003Ca href=\"http://dashboard:6090/account/recurring\"\u003Eretry settings\u003C/a\u003E. However, if you’d like to attempt to collect payment on an invoice out of the normal retry schedule or for some other reason, you can do so.\u003C/p\u003E", "operationId": "PayInvoice", "parameters": [ { "description": "ID of invoice to pay.", "in": "path", "name": "invoice", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/invoice" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/order_returns": { "get": { "description": "\u003Cp\u003EReturns a list of your order returns. The returns are returned sorted by creation date, with the most recently created return appearing first.\u003C/p\u003E", "operationId": "AllOrderReturns", "parameters": [ { "description": "The order to retrieve returns for.", "in": "query", "name": "order", "required": false, "type": "string" }, { "description": "Date this return was created.", "in": "query", "name": "created", "required": false, "type": "integer" }, { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/order_return" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/order_returns" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/order_returns/{id}": { "get": { "description": "\u003Cp\u003ERetrieves the details of an existing order return. Supply the unique order ID from either an order return creation request or the order return list, and Stripe will return the corresponding order information.\u003C/p\u003E", "operationId": "RetrieveOrderReturn", "parameters": [ { "description": "The identifier of the order return to be retrieved.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/order_return" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/orders": { "get": { "description": "\u003Cp\u003EReturns a list of your orders. The orders are returned sorted by creation date, with the most recently created orders appearing first.\u003C/p\u003E", "operationId": "AllOrders", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "Only return orders that have the given status. One of `created`, `paid`, `fulfilled`, or `refunded`.", "in": "query", "name": "status", "required": false, "type": "string" }, { "description": "Only return orders with the given IDs.", "in": "query", "name": "ids", "required": false, "type": "array" }, { "description": "Only return orders for the given customer.", "in": "query", "name": "customer", "required": false, "type": "string" }, { "description": "Date this order was created.", "in": "query", "name": "created", "required": false, "type": "string" }, { "description": "Only return orders with the given upstream order IDs.", "in": "query", "name": "upstream_ids", "required": false, "type": "array" }, { "description": "Filter orders based on when they were paid, fulfilled, canceled, or returned.", "in": "query", "name": "status_transitions", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/order" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/orders" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "CreateOrder", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": true, "schema": { "properties": { "coupon": { "description": "A coupon code that represents a discount to be applied to this order. Must be one-time duration and in same currency as the order.", "title": "coupon", "type": [ "string" ] }, "currency": { "description": "3-letter [ISO code](https://support.stripe.com/questions/which-currencies-does-stripe-support) representing the currency in which the order should be made. Stripe will validate that all entries in `items` match the currency specified here.", "title": "currency", "type": [ "string" ] }, "customer": { "description": "The ID of an existing customer to use for this order. If provided, the customer email and shipping address will be used to create the order. Subsequently, the customer will also be charged to pay the order. If `email` or `shipping` are also provided, they will override the values retrieved from the customer object.", "title": "customer", "type": [ "string" ] }, "email": { "description": "The email address of the customer placing the order.", "title": "email", "type": [ "string" ] }, "items": { "description": "List of items constituting the order.", "title": "items", "type": [ "array" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to an order object. It can be useful for storing additional information about the order in a structured format.", "title": "metadata", "type": [ "object" ] }, "shipping": { "description": "Shipping address for the order. Required if any of the SKUs are for products that have `shippable` set to true.", "title": "shipping", "type": [ "object" ] } }, "required": [ "currency" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/order" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/orders/{id}": { "get": { "description": "\u003Cp\u003ERetrieves the details of an existing order. Supply the unique order ID from either an order creation request or the order list, and Stripe will return the corresponding order information.\u003C/p\u003E", "operationId": "RetrieveOrder", "parameters": [ { "description": "The identifier of the order to be retrieved.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/order" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates the specific order by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts only the \u003Ccode\u003Emetadata\u003C/code\u003E, and \u003Ccode\u003Estatus\u003C/code\u003E as arguments.\u003C/p\u003E", "operationId": "UpdateOrder", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "coupon": { "description": "A coupon code that represents a discount to be applied to this order. Must be one-time duration and in same currency as the order.", "title": "coupon", "type": [ "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a product object. It can be useful for storing additional information about the order in a structured format.", "title": "metadata", "type": [ "object" ] }, "selected_shipping_method": { "description": "The shipping method to select for fulfilling this order. If specified, must be one of the `id`s of a shipping method in the `shipping_methods` array. If specified, will overwrite the existing selected shipping method, updating `items` as necessary.", "title": "selected_shipping_method", "type": [ "string" ] }, "shipping": { "description": "Tracking information once the order has been fulfilled.", "title": "shipping", "type": [ "object" ] }, "status": { "description": "Current order status. One of `created`, `paid`, `canceled`, `fulfilled`, or `returned`. More detail in the [Relay API Overview](/docs/orders/guide#understanding-order-statuses).", "title": "status", "type": [ "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/order" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/orders/{id}/pay": { "post": { "description": "", "operationId": "PayOrder", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "application_fee": { "description": "", "title": "application_fee", "type": [ "integer" ] }, "customer": { "description": "The ID of an existing customer that will be charged for this order. If no customer was attached to the order at creation, either `source` or `customer` is required. Otherwise, the specified customer will be charged instead of the one attached to the order.", "title": "customer", "type": [ "string" ] }, "email": { "description": "The email address of the customer placing the order. Required if not previously specified for the order.", "title": "email", "type": [ "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to an order object. It can be useful for storing additional information about the order in a structured format.", "title": "metadata", "type": [ "object" ] }, "shipping_method": { "description": "", "title": "shipping_method", "type": [ "string" ] }, "source": { "description": "The source can either be a token, like the ones returned by our [Stripe.js](/docs/stripe.js), or a dictionary containing a user's credit card details (with the options shown below). Whenever you create a new card for a customer, Stripe will automatically validate the card. If no customer was attached to the order at creation, either `source` or `customer is required. Otherwise, the specified source will be charged intead of the customer attached to the order.", "title": "source", "type": [ "object", "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/order" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/orders/{id}/returns": { "post": { "description": "\u003Cp\u003EReturn all or part of an order. The order must have a status of \u003Ccode\u003Epaid\u003C/code\u003E or \u003Ccode\u003Efulfilled\u003C/code\u003E before it can be returned. Once all items have been returned, the order will become \u003Ccode\u003Ecanceled\u003C/code\u003E or \u003Ccode\u003Ereturned\u003C/code\u003E depending on which status the order started in.\u003C/p\u003E", "operationId": "CreateOrderReturn", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "items": { "description": "List of items to return.", "title": "items", "type": [ "array" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/order_return" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/payments": { "get": { "description": "", "operationId": "AllPayments", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "Only return payments for the customer specified by this customer ID.", "in": "query", "name": "customer", "required": false, "type": "string" }, { "description": "", "in": "query", "name": "transfer_group", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/charge" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/payments" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/payments/{payment}": { "get": { "description": "", "operationId": "RetrievePayment", "parameters": [ { "description": "", "in": "path", "name": "payment", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/charge" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/plans": { "get": { "description": "\u003Cp\u003EReturns a list of your plans.\u003C/p\u003E", "operationId": "AllPlans", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "A filter on the list based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.", "in": "query", "name": "created", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/plan" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/plans" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EYou can create plans easily via the \u003Ca href=\"https://dashboard.stripe.com/plans\"\u003Eplan management\u003C/a\u003E page of the Stripe dashboard. Plan creation is also accessible via the API if you need to create plans on the fly.\u003C/p\u003E", "operationId": "CreatePlan", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": true, "schema": { "properties": { "amount": { "description": "A positive integer in **%s** (or 0 for a free plan) representing how much to charge (on a recurring basis).", "title": "amount", "type": [ "integer" ] }, "currency": { "description": "3-letter [ISO code for currency](https://support.stripe.com/questions/which-currencies-does-stripe-support).", "title": "currency", "type": [ "string" ] }, "id": { "description": "Unique string of your choice that will be used to identify this plan when subscribing a customer. This could be an identifier like \"gold\" or a primary key from your own database.", "title": "id", "type": [ "string" ] }, "interval": { "description": "Specifies billing frequency. Either day, week, month or year.", "title": "interval", "type": [ "string" ] }, "interval_count": { "description": "The number of intervals between each subscription billing. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks).", "title": "interval_count", "type": [ "integer" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a plan object. It can be useful for storing additional information about the plan in a structured format.", "title": "metadata", "type": [ "object" ] }, "name": { "description": "Name of the plan, to be displayed on invoices and in the web interface.", "title": "name", "type": [ "string" ] }, "statement_descriptor": { "description": "An arbitrary string to be displayed on your customer's credit card statement. This may be up to **22 characters**. As an example, if your website is `RunClub` and the item you're charging for is your Silver Plan, you may want to specify a `statement_descriptor` of `RunClub Silver Plan`. The statement description may not include `\u003C\u003E\"'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. While most banks display this information consistently, some may display it incorrectly or not at all.", "title": "statement_descriptor", "type": [ "string" ] }, "trial_period_days": { "description": "Specifies a trial period in (an integer number of) days. If you include a trial period, the customer won't be billed for the first time until the trial period ends. If the customer cancels before the trial period is over, she'll never be billed at all.", "title": "trial_period_days", "type": [ "integer" ] } }, "required": [ "amount", "currency", "id", "interval", "name" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/plan" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/plans/{plan}": { "delete": { "description": "\u003Cp\u003EYou can delete plans via the \u003Ca href=\"http://dashboard:6090/plans\"\u003Eplan management\u003C/a\u003E page of the Stripe dashboard. However, deleting a plan does not affect any current subscribers to the plan; it merely means that new subscribers can’t be added to that plan. You can also delete plans via the API.\u003C/p\u003E", "operationId": "DeletePlan", "parameters": [ { "description": "The identifier of the plan to be deleted.", "in": "path", "name": "plan", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/plan" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "\u003Cp\u003ERetrieves the plan with the given ID.\u003C/p\u003E", "operationId": "RetrievePlan", "parameters": [ { "description": "The ID of the desired plan.", "in": "path", "name": "plan", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/plan" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates the name of a plan. Other plan details (price, interval, etc.) are, by design, not editable.\u003C/p\u003E", "operationId": "UpdatePlan", "parameters": [ { "description": "The identifier of the plan to be updated.", "in": "path", "name": "plan", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "metadata": { "description": "A set of key/value pairs that you can attach to a plan object. It can be useful for storing additional information about the plan in a structured format.", "title": "metadata", "type": [ "object" ] }, "name": { "description": "Name of the plan, to be displayed on invoices and in the web interface.", "title": "name", "type": [ "string" ] }, "statement_descriptor": { "description": "An arbitrary string to be displayed on your customer's credit card statement. This may be up to **22 characters**. As an example, if your website is `RunClub` and the item you're charging for is your Silver Plan, you may want to specify a `statement_descriptor` of `RunClub Silver Plan`. The statement description may not include `\u003C\u003E\"'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. While most banks display this information consistently, some may display it incorrectly or not at all.", "title": "statement_descriptor", "type": [ "string" ] }, "trial_period_days": { "description": "Specifies a trial period in (an integer number of) days. If you include a trial period, the customer won't be billed for the first time until the trial period ends. If the customer cancels before the trial period is over, she'll never be billed at all.", "title": "trial_period_days", "type": [ "integer" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/plan" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/products": { "get": { "description": "\u003Cp\u003EReturns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.\u003C/p\u003E", "operationId": "AllProducts", "parameters": [ { "description": "Only return products that are active or inactive (e.g. pass `false` to list all inactive products).", "in": "query", "name": "active", "required": false, "type": "boolean" }, { "description": "Only return products with the given IDs.", "in": "query", "name": "ids", "required": false, "type": "array" }, { "description": "Only return products that can be shipped (i.e., physical, not digital products).", "in": "query", "name": "shippable", "required": false, "type": "boolean" }, { "description": "Only return products with the given url.", "in": "query", "name": "url", "required": false, "type": "string" }, { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/product" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/products" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003ECreates a new product object.\u003C/p\u003E", "operationId": "CreateProduct", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": true, "schema": { "properties": { "active": { "description": "Whether or not the product is currently available for purchase. Defaults to `true`.", "title": "active", "type": [ "boolean" ] }, "attributes": { "description": "A list of up to 5 alphanumeric attributes that each SKU can provide values for (e.g. `[\"color\", \"size\"]`).", "title": "attributes", "type": [ "array" ] }, "caption": { "description": "A short one-line description of the product, meant to be displayable to the customer.", "title": "caption", "type": [ "string" ] }, "deactivate_on": { "description": "An array of Connect application names or identifiers that should not be able to order the SKUs for this product.", "title": "deactivate_on", "type": [ "array" ] }, "description": { "description": "The product's description, meant to be displayable to the customer.", "title": "description", "type": [ "string" ] }, "id": { "description": "The identifier for the product. Must be unique. If not provided, an identifier will be randomly generated.", "title": "id", "type": [ "string" ] }, "images": { "description": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer.", "title": "images", "type": [ "array" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a product object. It can be useful for storing additional information about the product in a structured format.", "title": "metadata", "type": [ "object" ] }, "name": { "description": "The product's name, meant to be displayable to the customer.", "title": "name", "type": [ "string" ] }, "package_dimensions": { "description": "The dimensions of this product for shipping purposes. A SKU associated with this product can override this value by having its own `package_dimensions`.", "title": "package_dimensions", "type": [ "object" ] }, "shippable": { "description": "Whether this product is shipped (i.e. physical goods). Defaults to `true`.", "title": "shippable", "type": [ "boolean" ] }, "url": { "description": "A URL of a publicly-accessible webpage for this product.", "title": "url", "type": [ "string" ] } }, "required": [ "name" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/product" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/products/{id}": { "delete": { "description": "\u003Cp\u003EDelete a product. Deleting a product is only possible if it has no SKUs associated with it.\u003C/p\u003E", "operationId": "DeleteProduct", "parameters": [ { "description": "The ID of the product to delete.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/product" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "\u003Cp\u003ERetrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information.\u003C/p\u003E", "operationId": "RetrieveProduct", "parameters": [ { "description": "The identifier of the product to be retrieved.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/product" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E\n\n\u003Cp\u003ENote that a product’s \u003Ccode\u003Eattributes\u003C/code\u003E are not editable. Instead, you would need to deactivate the existing product and create a new one with the new attribute values.\u003C/p\u003E", "operationId": "UpdateProduct", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "active": { "description": "Whether or not the product is available for purchase.", "title": "active", "type": [ "boolean" ] }, "attributes": { "description": "A list of up to 5 alphanumeric attributes that each SKU can provide values for (e.g. `[\"color\", \"size\"]`). If a value for `attributes` is specified, the list specified will replace the existing attributes list on this product. Any attributes not present after the update will be deleted from the SKUs for this product.", "title": "attributes", "type": [ "array", "string" ] }, "caption": { "description": "A short one-line description of the product, meant to be displayable to the customer.", "title": "caption", "type": [ "string" ] }, "deactivate_on": { "description": "An array of Connect application names or identifiers that should not be able to order the SKUs for this product.", "title": "deactivate_on", "type": [ "array", "string" ] }, "description": { "description": "The product's description, meant to be displayable to the customer.", "title": "description", "type": [ "string" ] }, "images": { "description": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer.", "title": "images", "type": [ "array", "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a product object. It can be useful for storing additional information about the product in a structured format.", "title": "metadata", "type": [ "object" ] }, "name": { "description": "The product's name, meant to be displayable to the customer.", "title": "name", "type": [ "string" ] }, "package_dimensions": { "description": "The dimensions of this product for shipping purposes. A SKU associated with this product can override this value by having its own `package_dimensions`.", "title": "package_dimensions", "type": [ "object" ] }, "shippable": { "description": "Whether this product is shipped (i.e. physical goods). Defaults to `true`.", "title": "shippable", "type": [ "boolean" ] }, "url": { "description": "A URL of a publicly-accessible webpage for this product.", "title": "url", "type": [ "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/product" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/recipients": { "get": { "description": "\u003Cp\u003EReturns a list of your recipients. The recipients are returned sorted by creation date, with the most recently created recipients appearing first.\u003C/p\u003E", "operationId": "AllTransferRecipients", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "Only return recipients that are verified or unverified.", "in": "query", "name": "verified", "required": false, "type": "boolean" }, { "description": "", "in": "query", "name": "created", "required": false, "type": "integer" }, { "description": "", "in": "query", "name": "type", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/transfer_recipient" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/recipients" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "TransferRecipientCreate", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": true, "schema": { "properties": { "address_city": { "description": "", "title": "address_city", "type": [ "string" ] }, "address_country": { "description": "", "title": "address_country", "type": [ "string" ] }, "address_line1": { "description": "", "title": "address_line1", "type": [ "string" ] }, "address_line2": { "description": "", "title": "address_line2", "type": [ "string" ] }, "address_state": { "description": "", "title": "address_state", "type": [ "string" ] }, "address_zip": { "description": "", "title": "address_zip", "type": [ "string" ] }, "bank_account": { "description": "", "title": "bank_account", "type": [ "object", "string" ] }, "card": { "description": "", "title": "card", "type": [ "object", "string" ] }, "description": { "description": "", "title": "description", "type": [ "string" ] }, "dob_day": { "description": "", "title": "dob_day", "type": [ "integer" ] }, "dob_month": { "description": "", "title": "dob_month", "type": [ "integer" ] }, "dob_year": { "description": "", "title": "dob_year", "type": [ "integer" ] }, "email": { "description": "", "title": "email", "type": [ "string" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] }, "name": { "description": "", "title": "name", "type": [ "string" ] }, "tax_id": { "description": "", "title": "tax_id", "type": [ "string" ] }, "type": { "description": "", "title": "type", "type": [ "string" ] } }, "required": [ "name", "type" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/transfer_recipient" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/recipients/{id}": { "delete": { "description": "\u003Cp\u003EPermanently deletes a recipient. It cannot be undone.\u003C/p\u003E", "operationId": "TransferRecipientDelete", "parameters": [ { "description": "The identifier of the recipient to be deleted.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/transfer_recipient" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "\u003Cp\u003ERetrieves the details of an existing recipient. You need only supply the unique recipient identifier that was returned upon recipient creation.\u003C/p\u003E", "operationId": "RetrieveTransferRecipient", "parameters": [ { "description": "The identifier of the recipient to be retrieved.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/transfer_recipient" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "TransferRecipientUpdate", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "address_city": { "description": "", "title": "address_city", "type": [ "string" ] }, "address_country": { "description": "", "title": "address_country", "type": [ "string" ] }, "address_line1": { "description": "", "title": "address_line1", "type": [ "string" ] }, "address_line2": { "description": "", "title": "address_line2", "type": [ "string" ] }, "address_state": { "description": "", "title": "address_state", "type": [ "string" ] }, "address_zip": { "description": "", "title": "address_zip", "type": [ "string" ] }, "bank_account": { "description": "", "title": "bank_account", "type": [ "object", "string" ] }, "card": { "description": "", "title": "card", "type": [ "object", "string" ] }, "default_card": { "description": "", "title": "default_card", "type": [ "string" ] }, "description": { "description": "", "title": "description", "type": [ "string" ] }, "dob_day": { "description": "", "title": "dob_day", "type": [ "integer" ] }, "dob_month": { "description": "", "title": "dob_month", "type": [ "integer" ] }, "dob_year": { "description": "", "title": "dob_year", "type": [ "integer" ] }, "email": { "description": "", "title": "email", "type": [ "string" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] }, "name": { "description": "", "title": "name", "type": [ "string" ] }, "tax_id": { "description": "", "title": "tax_id", "type": [ "string" ] }, "type": { "description": "", "title": "type", "type": [ "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/transfer_recipient" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/recipients/{id}/cards": { "get": { "description": "", "operationId": "AllTransferRecipientCards", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "The ID of the recipient whose cards will be retrieved.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/recipient_payout_card" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "RecipientPayoutCardList", "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "CreateTransferRecipientCard", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "card": { "description": "The card can either be a token, like the ones returned by our [Stripe.js](/docs/stripe.js), or a dictionary containing a user's credit card details (with the options shown below). Whenever you create a new card for a recipient, Stripe will automatically validate the card.", "title": "card", "type": [ "object", "string" ] } }, "required": [ "card" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/recipient_payout_card" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/recipients/{recipient}/cards/{id}": { "delete": { "description": "", "operationId": "DeleteTransferRecipientCard", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "", "in": "path", "name": "recipient", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/recipient_payout_card" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "", "operationId": "RetrieveTransferRecipientCard", "parameters": [ { "description": "ID of card to retrieve.", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "", "in": "path", "name": "recipient", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/recipient_payout_card" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "UpdateTransferRecipientCard", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "address_city": { "description": "", "title": "address_city", "type": [ "string" ] }, "address_country": { "description": "", "title": "address_country", "type": [ "string" ] }, "address_line1": { "description": "", "title": "address_line1", "type": [ "string" ] }, "address_line2": { "description": "", "title": "address_line2", "type": [ "string" ] }, "address_state": { "description": "", "title": "address_state", "type": [ "string" ] }, "address_zip": { "description": "", "title": "address_zip", "type": [ "string" ] }, "exp_month": { "description": "", "title": "exp_month", "type": [ "string" ] }, "exp_year": { "description": "", "title": "exp_year", "type": [ "string" ] }, "name": { "description": "", "title": "name", "type": [ "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/recipient_payout_card" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/refunds": { "get": { "description": "\u003Cp\u003EReturns a list of all refunds you’ve previously created. The refunds are returned in sorted order, with the most recent refunds appearing first. For convenience, the 10 most recent refunds are always available by default on the charge object.\u003C/p\u003E", "operationId": "AllRefunds", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "Only return refunds for the charge specified by this charge ID.", "in": "query", "name": "charge", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/refund" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/refunds" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "CreateChargeRefund", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "amount": { "description": "", "title": "amount", "type": [ "integer" ] }, "charge": { "description": "", "title": "charge", "type": [ "string" ] }, "directive": { "description": "", "title": "directive", "type": [ "string" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] }, "reason": { "description": "", "title": "reason", "type": [ "string" ] }, "refund_application_fee": { "description": "", "title": "refund_application_fee", "type": [ "boolean" ] }, "reverse_transfer": { "description": "", "title": "reverse_transfer", "type": [ "boolean" ] } }, "required": [ "charge" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/refund" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/refunds/{refund}": { "get": { "description": "\u003Cp\u003ERetrieves the details of an existing refund.\u003C/p\u003E", "operationId": "RetrieveRefund", "parameters": [ { "description": "ID of refund to retrieve.", "in": "path", "name": "refund", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/refund" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates the specified refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E\n\n\u003Cp\u003EThis request only accepts \u003Ccode\u003Emetadata\u003C/code\u003E as an argument.\u003C/p\u003E", "operationId": "UpdateRefund", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "metadata": { "description": "A set of key/value pairs that you can attach to a refund object. It can be useful for storing additional information about the refund in a structured format.", "title": "metadata", "type": [ "object" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/refund" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/skus": { "get": { "description": "\u003Cp\u003EReturns a list of your SKUs. The SKUs are returned sorted by creation date, with the most recently created SKUs appearing first.\u003C/p\u003E", "operationId": "AllSKUs", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "The ID of the product whose SKUs will be retrieved.", "in": "query", "name": "product", "required": false, "type": "string" }, { "description": "Only return SKUs that are active or inactive (e.g. pass `false` to list all inactive products).", "in": "query", "name": "active", "required": false, "type": "boolean" }, { "description": "Only return SKUs with the given IDs.", "in": "query", "name": "ids", "required": false, "type": "array" }, { "description": "Only return SKUs that have the specified key/value pairs in this partially constructed dictionary. Can be specified only if `product` is also supplied. For instance, if the associated product has attributes `[\"color\", \"size\"]`, passing in `attributes[color]=red` returns all the SKUs for this product that have `color` set to `red`.", "in": "query", "name": "attributes", "required": false, "type": "string" }, { "description": "Only return SKUs that are either in stock or out of stock (e.g. pass `false` to list all SKUs that are out of stock). If no value is provided, all SKUs are returned.", "in": "query", "name": "in_stock", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/sku" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/skus" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003ECreates a new SKU associated with a product.\u003C/p\u003E", "operationId": "CreateSKU", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": true, "schema": { "properties": { "active": { "description": "Whether or not the SKU is available for purchase. Default to `true`.", "title": "active", "type": [ "boolean" ] }, "attributes": { "description": "A dictionary of attributes and values for the attributes defined by the product. If, for example, a product's attributes are `[\"size\", \"gender\"]`, a valid SKU has the following dictionary of attributes: `{\"size\": \"Medium\", \"gender\": \"Unisex\"}`.", "title": "attributes", "type": [ "object" ] }, "currency": { "description": "3-letter [ISO code](https://support.stripe.com/questions/which-currencies-does-stripe-support) for currency.", "title": "currency", "type": [ "string" ] }, "id": { "description": "The identifier for the SKU. Must be unique. If not provided, an identifier will be randomly generated.", "title": "id", "type": [ "string" ] }, "image": { "description": "The URL of an image for this SKU, meant to be displayable to the customer.", "title": "image", "type": [ "string" ] }, "inventory": { "description": "Description of the SKU's inventory.", "title": "inventory", "type": [ "object" ] }, "inventory_last_updated": { "description": "", "title": "inventory_last_updated", "type": [ "integer" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a SKU object. It can be useful for storing additional information about the SKU in a structured format.", "title": "metadata", "type": [ "object" ] }, "package_dimensions": { "description": "The dimensions of this SKU for shipping purposes.", "title": "package_dimensions", "type": [ "object" ] }, "price": { "description": "The cost of the item as a nonnegative integer in the smallest currency unit (that is, 100 cents to charge $1.00, or 100 to charge ¥100, Japanese Yen being a 0-decimal currency).", "title": "price", "type": [ "integer" ] }, "product": { "description": "The ID of the product this SKU is associated with.", "title": "product", "type": [ "string" ] } }, "required": [ "currency", "inventory", "price", "product" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/sku" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/skus/{id}": { "delete": { "description": "\u003Cp\u003EDelete a SKU. Deleting a SKU is only possible until it has been used in an order.\u003C/p\u003E", "operationId": "DeleteSKU", "parameters": [ { "description": "The identifier of the SKU to be deleted.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/sku" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "\u003Cp\u003ERetrieves the details of an existing SKU. Supply the unique SKU identifier from either a SKU creation request or from the product, and Stripe will return the corresponding SKU information.\u003C/p\u003E", "operationId": "RetrieveSKU", "parameters": [ { "description": "The identifier of the SKU to be retrieved.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/sku" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates the specific SKU by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E\n\n\u003Cp\u003ENote that a SKU’s \u003Ccode\u003Eattributes\u003C/code\u003E are not editable. Instead, you would need to deactivate the existing SKU and create a new one with the new attribute values.\u003C/p\u003E", "operationId": "UpdateSKU", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "active": { "description": "Whether or not this SKU is available for purchase.", "title": "active", "type": [ "boolean" ] }, "attributes": { "description": "A dictionary of attributes and values for the attributes defined by the product. When specified, `attributes` will partially update the existing attributes dictionary on the product, with the postcondition that a value must be present for each attribute key on the product, and that all SKUs for the product must have unique sets of attributes.", "title": "attributes", "type": [ "object" ] }, "currency": { "description": "3-letter [ISO code](https://support.stripe.com/questions/which-currencies-does-stripe-support) for currency.", "title": "currency", "type": [ "string" ] }, "image": { "description": "The URL of an image for this SKU, meant to be displayable to the customer.", "title": "image", "type": [ "string" ] }, "inventory": { "description": "Description of the SKU's inventory.", "title": "inventory", "type": [ "object" ] }, "inventory_last_updated": { "description": "", "title": "inventory_last_updated", "type": [ "integer" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a SKU object. It can be useful for storing additional information about the SKU in a structured format.", "title": "metadata", "type": [ "object" ] }, "package_dimensions": { "description": "The dimensions of this SKU for shipping purposes.", "title": "package_dimensions", "type": [ "object" ] }, "price": { "description": "The cost of the item as a positive integer in the smallest currency unit (that is, 100 cents to charge $1.00, or 100 to charge ¥100, Japanese Yen being a 0-decimal currency).", "title": "price", "type": [ "integer" ] }, "product": { "description": "The ID of the product that this SKU should belong to. The product must exist and have the same set of attribute names as the SKU's current product.", "title": "product", "type": [ "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/sku" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/sources": { "post": { "description": "\u003Cp\u003ECreates a new source object.\u003C/p\u003E", "operationId": "CreateSource", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "amount": { "description": "Amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for `single-use` sources.", "title": "amount", "type": [ "integer" ] }, "currency": { "description": "The currency associated with the source. This is the currency for which the source will be chargeable once ready.", "title": "currency", "type": [ "string" ] }, "flow": { "description": "The authentication `flow` of the source to create. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`. It is generally inferred unless a type supports multiple flows.", "title": "flow", "type": [ "string" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a source object. It can be useful for storing additional information about the source in a structured format.", "title": "metadata", "type": [ "object" ] }, "owner": { "description": "Information about the owner of the payment instrument that may be used or required by particular source types.", "title": "owner", "type": [ "object" ] }, "redirect": { "description": "Parameters required for the redirect flow. Required if the source is authenticated by a redirect (`flow` is `redirect`).", "title": "redirect", "type": [ "object" ] }, "token": { "description": "An optional token used to create the source. When passed, token properties will override source parameters.", "title": "token", "type": [ "string" ] }, "type": { "description": "The `type` of the source to create.", "title": "type", "type": [ "string" ] }, "usage": { "description": "One of `reusable`, `single-use`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while other may leave the option at creation. If an incompatible value is passed, an error will be returned.", "title": "usage", "type": [ "string" ] } }, "required": [ "type" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/sources/{source}": { "get": { "description": "\u003Cp\u003ERetrieves an existing source object. Supply the unique source ID from a source creation request and Stripe will return the corresponding up-to-date source object information.\u003C/p\u003E", "operationId": "RetrieveSource", "parameters": [ { "description": "The identifier of the source to be retrieved.", "in": "path", "name": "source", "required": true, "type": "string" }, { "description": "The client secret of the source. Required if a publishable key is used to retrieve the source.", "in": "query", "name": "client_secret", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates the specified source by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E\n\n\u003Cp\u003EThis request accepts only the \u003Ccode\u003Emetadata\u003C/code\u003E and \u003Ccode\u003Eowner\u003C/code\u003E as arguments.\u003C/p\u003E", "operationId": "SourceUpdate", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "metadata": { "description": "A set of key/value pairs that you can attach to a source object. It can be useful for storing additional information about the source in a structured format.", "title": "metadata", "type": [ "object" ] }, "owner": { "description": "Information about the owner of the payment instrument that may be used or required by particular source types.", "title": "owner", "type": [ "object" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/sources/{source}/verify": { "post": { "description": "", "operationId": "VerifySource", "parameters": [ { "description": "The ID of the desired source.", "in": "path", "name": "source", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "values": { "description": "The values needed to verify the source.", "title": "values", "type": [ "array" ] } }, "required": [ "values" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/source" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/subscription_items": { "get": { "description": "\u003Cp\u003EReturns a list of your subscription items for a given subscription.\u003C/p\u003E", "operationId": "AllSubscriptionItems", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "The ID of the subscription whose items will be retrieved.", "in": "query", "name": "subscription", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/subscription_item" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/subscription_items" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EAdds a new item to an existing subscription. No existing items will be changed or replaced.\u003C/p\u003E", "operationId": "CreateSubscriptionItem", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": true, "schema": { "properties": { "plan": { "description": "The identifier of the plan to add to the subscription.", "title": "plan", "type": [ "string" ] }, "prorate": { "description": "Flag indicating whether to [prorate](/docs/subscriptions/upgrading-downgrading#understanding-proration) switching plans during a billing cycle.", "title": "prorate", "type": [ "boolean" ] }, "proration_date": { "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](#retrieve_customer_invoice) endpoint.", "title": "proration_date", "type": [ "integer" ] }, "quantity": { "description": "The quantity you'd like to apply to the subscription item you're creating.", "title": "quantity", "type": [ "integer" ] }, "subscription": { "description": "The identifier of the subscription to modify.", "title": "subscription", "type": [ "string" ] } }, "required": [ "plan", "subscription" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/subscription_item" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/subscription_items/{item}": { "delete": { "description": "\u003Cp\u003EDeletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription.\u003C/p\u003E", "operationId": "DeleteSubscriptionItem", "parameters": [ { "description": "The identifier of the subscription item to delete.", "in": "path", "name": "item", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "prorate": { "description": "Flag indicating whether to [prorate](/docs/subscriptions/upgrading-downgrading#understanding-proration) switching plans during a billing cycle.", "title": "prorate", "type": [ "boolean" ] }, "proration_date": { "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](#retrieve_customer_invoice) endpoint.", "title": "proration_date", "type": [ "integer" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/subscription_item" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "\u003Cp\u003ERetrieves the invoice item with the given ID.\u003C/p\u003E", "operationId": "RetrieveSubscriptionItem", "parameters": [ { "description": "The identifier of the subscription item to retrieve.", "in": "path", "name": "item", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/subscription_item" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates the plan or quantity of an item on a current subscription.\u003C/p\u003E", "operationId": "UpdateSubscriptionItem", "parameters": [ { "description": "The identifier of the subscription item to modify.", "in": "path", "name": "item", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "plan": { "description": "The identifier of the new plan for this subscription item.", "title": "plan", "type": [ "string" ] }, "prorate": { "description": "Flag indicating whether to [prorate](/docs/subscriptions/upgrading-downgrading#understanding-proration) switching plans during a billing cycle.", "title": "prorate", "type": [ "boolean" ] }, "proration_date": { "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](#retrieve_customer_invoice) endpoint.", "title": "proration_date", "type": [ "integer" ] }, "quantity": { "description": "The quantity you'd like to apply to the subscription item you're creating.", "title": "quantity", "type": [ "integer" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/subscription_item" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/subscriptions": { "get": { "description": "\u003Cp\u003EBy default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions, specify \u003Ccode\u003Estatus=canceled\u003C/code\u003E.\u003C/p\u003E", "operationId": "AllSubscriptions", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "The ID of the customer whose subscriptions will be retrieved.", "in": "query", "name": "customer", "required": false, "type": "string" }, { "description": "", "in": "query", "name": "created", "required": false, "type": "integer" }, { "description": "The ID of the plan whose subscriptions will be retrieved.", "in": "query", "name": "plan", "required": false, "type": "string" }, { "description": "The status of the subscriptions to retrieve. One of: `trialing`, `active`, `past_due`, `unpaid`, `canceled`, or `all`. Passing in a value of `canceled` will return all canceled subscriptions, including those belonging to deleted customers. Passing in a value of `all` will return subscriptions of all statuses.", "in": "query", "name": "status", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/subscription" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/subscriptions" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003ECreates a new subscription on an existing customer.\u003C/p\u003E", "operationId": "CreateSubscription", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "account_balance": { "description": "", "title": "account_balance", "type": [ "integer" ] }, "application_fee_percent": { "description": "A positive decimal (with at most four decimal places) between 1 and 100. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made with an OAuth key in order to set an application fee percentage. For more information, see the application fees [documentation](http://127.0.0.1:6040/docs/connect/collecting-fees#subscriptions).", "title": "application_fee_percent", "type": [ "number" ] }, "billing": { "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions.", "title": "billing", "type": [ "string" ] }, "coupon": { "description": "The code of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.", "title": "coupon", "type": [ "string" ] }, "customer": { "description": "The identifier of the customer to subscribe.", "title": "customer", "type": [ "string" ] }, "days_until_due": { "description": "Number of days a customer has to pay invoices generated by this subscription.", "title": "days_until_due", "type": [ "integer" ] }, "items": { "description": "List of subscription items, each with an attached plan.", "title": "items", "type": [ "array" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a subscription object. It can be useful for storing additional information about the subscription in a structured format.", "title": "metadata", "type": [ "object" ] }, "plan": { "description": "The identifier of the plan to subscribe the customer to.", "title": "plan", "type": [ "string" ] }, "prorate": { "description": "", "title": "prorate", "type": [ "boolean" ] }, "quantity": { "description": "The quantity you'd like to apply to the subscription you're creating. For example, if your plan is \u003Ccurrency\u003E10\u003C/currency\u003E/user/month, and your customer has 5 users, you could pass 5 as the quantity to have the customer charged \u003Ccurrency\u003E50\u003C/currency\u003E (5 x \u003Ccurrency\u003E10\u003C/currency\u003E) monthly. If you update a subscription but don't change the plan ID (e.g. changing only the trial_end), the subscription will inherit the old subscription's quantity attribute unless you pass a new quantity parameter. If you update a subscription and change the plan ID, the new subscription will not inherit the quantity attribute and will default to 1 unless you pass a quantity parameter.", "title": "quantity", "type": [ "integer" ] }, "retains_own_balance": { "description": "", "title": "retains_own_balance", "type": [ "boolean" ] }, "source": { "description": "The source can either be a token, like the ones returned by our [Stripe.js](http://127.0.0.1:6040/docs/stripe.js), or a dictionary containing a user's credit card details (with the options shown below). You must provide a source if the customer does not already have a valid source attached, and you are subscribing the customer for a plan that is not free. Passing `source` will create a new source object, make it the customer default source, and delete the old customer default if one exists. If you want to add an additional source to use with subscriptions, instead use the [card creation API](http://127.0.0.1:6040/docs/api#create_card) to add the card and then the [customer update API](http://127.0.0.1:6040/docs/api#update customer) to set it as the default. Whenever you attach a card to a customer, Stripe will automatically validate the card.", "title": "source", "type": [ "object", "string" ] }, "tax_percent": { "description": "A positive decimal (with at most four decimal places) between 1 and 100. This represents the percentage of the subscription invoice subtotal that will be calculated and added as tax to the final amount each billing period. For example, a plan which charges $10/month with a `tax_percent` of 20.0 will charge $12 per invoice.", "title": "tax_percent", "type": [ "number" ] }, "trial_end": { "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately.", "title": "trial_end", "type": [ "integer", "string" ] }, "trial_period_days": { "description": "Integer representing the number of trial period days before the customer is charged for the first time. If set, `trial_period_days` overrides the default trial period days of the plan the customer is being subscribed to.", "title": "trial_period_days", "type": [ "integer" ] } }, "required": [ "customer" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/subscription" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/subscriptions/{subscription_exposed_id}": { "delete": { "description": "\u003Cp\u003ECancels a customer’s subscription. If you set the \u003Ccode\u003Eat_period_end\u003C/code\u003E parameter to true, the subscription will remain active until the end of the period, at which point it will be canceled and not renewed. By default, the subscription is terminated immediately. In either case, the customer will not be charged again for the subscription. Note, however, that any pending invoice items that you’ve created will still be charged for at the end of the period unless manually \u003Ca href=\"#delete_invoiceitem\"\u003Edeleted\u003C/a\u003E. If you’ve set the subscription to cancel at period end, any pending prorations will also be left in place and collected at the end of the period, but if the subscription is set to cancel immediately, pending prorations will be removed.\u003C/p\u003E\n\n\u003Cp\u003EBy default, all unpaid invoices for the customer will be closed upon subscription cancellation. We do this in order to prevent unexpected payment retries once the customer has canceled a subscription. However, you can reopen the invoices manually after subscription cancellation to have us proceed with automatic retries, or you could even re-attempt payment yourself on all unpaid invoices before allowing the customer to cancel the subscription at all.\u003C/p\u003E", "operationId": "DeleteCustomerSubscription", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "at_period_end": { "description": "A flag that if set to true will delay the cancellation of the subscription until the end of the current period.", "title": "at_period_end", "type": [ "boolean" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/subscription" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "get": { "description": "\u003Cp\u003ERetrieves the subscription with the given ID.\u003C/p\u003E", "operationId": "RetrieveCustomerSubscription", "parameters": [ ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/subscription" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the \u003Ca href=\"#upcoming_invoice\"\u003Eupcoming invoice\u003C/a\u003E endpoint.\u003C/p\u003E", "operationId": "UpdateCustomerSubscription", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "account_balance": { "description": "", "title": "account_balance", "type": [ "integer" ] }, "application_fee_percent": { "description": "A positive decimal (with at most four decimal places) between 1 and 100. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made with an OAuth key in order to set an application fee percentage. For more information, see the application fees [documentation]('/docs/connect/collecting-fees#subscriptions').", "title": "application_fee_percent", "type": [ "number" ] }, "billing": { "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions.", "title": "billing", "type": [ "string" ] }, "coupon": { "description": "The code of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.", "title": "coupon", "type": [ "string" ] }, "days_until_due": { "description": "Number of days a customer has to pay invoices generated by this subscription.", "title": "days_until_due", "type": [ "integer" ] }, "items": { "description": "List of subscription items, each with an attached plan.", "title": "items", "type": [ "array" ] }, "max_occurrences": { "description": "", "title": "max_occurrences", "type": [ "integer" ] }, "metadata": { "description": "A set of key/value pairs that you can attach to a subscription object. It can be useful for storing additional information about the subscription in a structured format.", "title": "metadata", "type": [ "object" ] }, "pay_immediately": { "description": "", "title": "pay_immediately", "type": [ "boolean" ] }, "plan": { "description": "The identifier of the plan to update the subscription to. If omitted, the subscription will not change plans.", "title": "plan", "type": [ "string" ] }, "prorate": { "description": "Flag telling us whether to prorate switching plans during a billing cycle.", "title": "prorate", "type": [ "boolean" ] }, "proration_date": { "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](#retrieve_customer_invoice) endpoint. It can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations.", "title": "proration_date", "type": [ "integer" ] }, "quantity": { "description": "The quantity you'd like to apply to the subscription you're updating. For example, if your plan is \u003Ccurrency\u003E10\u003C/currency\u003E/user/month, and your customer has 5 users, you could pass 5 as the quantity to have the customer charged \u003Ccurrency\u003E50\u003C/currency\u003E (5 x \u003Ccurrency\u003E10\u003C/currency\u003E) monthly. If you update a subscription but don't change the plan ID (e.g. changing only the trial_end), the subscription will inherit the old subscription's quantity attribute unless you pass a new quantity parameter. If you update a subscription and change the plan ID, the new subscription will not inherit the quantity attribute and will default to 1 unless you pass a quantity parameter.", "title": "quantity", "type": [ "integer" ] }, "retains_own_balance": { "description": "", "title": "retains_own_balance", "type": [ "boolean" ] }, "source": { "description": "The source can either be a token, like the ones returned by our [Stripe.js](http://127.0.0.1:6040/docs/stripe.js), or a dictionary containing a user's credit card details (with the options shown below). You must provide a source if the customer does not already have a valid source attached, and you are subscribing the customer for a plan that is not free. Passing `source` will create a new source object, make it the customer default source, and delete the old customer default if one exists. If you want to add an additional source to use with subscriptions, instead use the [card creation API](http://127.0.0.1:6040/docs/api#create_card) to add the card and then the [customer update API](http://127.0.0.1:6040/docs/api#update customer) to set it as the default. Whenever you attach a card to a customer, Stripe will automatically validate the card.", "title": "source", "type": [ "object", "string" ] }, "tax_percent": { "description": "A positive decimal (with at most four decimal places) between 1 and 100. This represents the percentage of the subscription invoice subtotal that will be calculated and added as tax to the final amount each billing period. For example, a plan which charges $10/month with a `tax_percent` of 20.0 will charge $12 per invoice.", "title": "tax_percent", "type": [ "number" ] }, "trial_end": { "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately.", "title": "trial_end", "type": [ "integer", "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/subscription" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/subscriptions/{subscription_exposed_id}/discount": { "delete": { "description": "\u003Cp\u003ERemoves the currently applied discount on a customer.\u003C/p\u003E", "operationId": "DeleteCustomerDiscount", "parameters": [ ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/discount" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/tokens": { "post": { "description": "", "operationId": "CreateBankAccountToken", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "bank_account": { "description": "", "title": "bank_account", "type": [ "object", "string" ] }, "payment_user_agent": { "description": "", "title": "payment_user_agent", "type": [ "string" ] }, "request_id": { "description": "", "title": "request_id", "type": [ "string" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/token" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/tokens/{token}": { "get": { "description": "\u003Cp\u003ERetrieves the token with the given ID.\u003C/p\u003E", "operationId": "RetrieveToken", "parameters": [ { "description": "The ID of the desired token.", "in": "path", "name": "token", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/token" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/transfers": { "get": { "description": "", "operationId": "AllTransfers", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "", "in": "query", "name": "amount", "required": false, "type": "integer" }, { "description": "", "in": "query", "name": "created", "required": false, "type": "integer" }, { "description": "", "in": "query", "name": "destination", "required": false, "type": "string" }, { "description": "", "in": "query", "name": "transfer_group", "required": false, "type": "string" }, { "description": "", "in": "query", "name": "currency", "required": false, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/transfer" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "enum": [ "/v1/transfers" ], "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "TransferList", "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "CreateTransfer", "parameters": [ { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": true, "schema": { "properties": { "amount": { "description": "", "title": "amount", "type": [ "integer" ] }, "currency": { "description": "", "title": "currency", "type": [ "string" ] }, "destination": { "description": "", "title": "destination", "type": [ "string" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] }, "transfer_group": { "description": "", "title": "transfer_group", "type": [ "string" ] } }, "required": [ "amount", "currency" ] } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/transfer" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/transfers/{id}": { "get": { "description": "", "operationId": "RetrieveTransfer", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/transfer" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "UpdateTransfer", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "metadata": { "description": "", "title": "metadata", "type": [ "object" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/transfer" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/transfers/{id}/cancel": { "post": { "description": "", "operationId": "ReverseNonStripeTransferOnSlashCancel", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/legacy_transfer" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/transfers/{id}/reversals": { "get": { "description": "\u003Cp\u003EYou can see a list of the reversals belonging to a specific transfer. Note that the 10 most recent reversals are always available by default on the transfer object. If you need more than those 10, you can use this API method and the \u003Ccode\u003Elimit\u003C/code\u003E and \u003Ccode\u003Estarting_after\u003C/code\u003E parameters to page through additional reversals.\u003C/p\u003E", "operationId": "AllTransferReversals", "parameters": [ { "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100 items.", "in": "query", "name": "limit", "required": false, "type": "integer" }, { "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.", "in": "query", "name": "starting_after", "required": false, "type": "string" }, { "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", "in": "query", "name": "ending_before", "required": false, "type": "string" }, { "description": "The ID of the transfer whose reversals will be retrieved.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "properties": { "data": { "items": { "$ref": "#/definitions/transfer_reversal" }, "type": [ "array" ] }, "has_more": { "description": "True if this list has another page of items after this one that can be fetched.", "type": [ "boolean" ] }, "object": { "description": "The type of object. Always has the value \"list\".", "enum": [ "list" ], "type": [ "string" ] }, "total_count": { "description": "The total number of items available. This value is not included by default, but you can request it by specifying ?include[]=total_count.", "type": [ "integer" ] }, "url": { "description": "The URL where this list can be accessed.", "type": [ "string" ] } }, "required": [ "data", "has_more", "object", "url" ], "title": "TransferReversalList", "type": [ "object" ] } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "", "operationId": "CreateStripeAccountTransferReversal", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "amount": { "description": "", "title": "amount", "type": [ "integer" ] }, "description": { "description": "", "title": "description", "type": [ "string" ] }, "metadata": { "description": "", "title": "metadata", "type": [ "object" ] }, "refund_application_fee": { "description": "", "title": "refund_application_fee", "type": [ "boolean" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/transfer_reversal" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } }, "/v1/transfers/{transfer}/reversals/{id}": { "get": { "description": "\u003Cp\u003EBy default, you can see the 10 most recent reversals stored directly on the transfer object, but you can also retrieve details about a specific reversal stored on the transfer.\u003C/p\u003E", "operationId": "RetrieveTransferReversal", "parameters": [ { "description": "ID of the transfer reversed.", "in": "path", "name": "transfer", "required": true, "type": "string" }, { "description": "ID of reversal to retrieve.", "in": "path", "name": "id", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/transfer_reversal" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } }, "post": { "description": "\u003Cp\u003EUpdates the specified reversal by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E\n\n\u003Cp\u003EThis request only accepts metadata and description as arguments.\u003C/p\u003E", "operationId": "UpdateTransferReversal", "parameters": [ { "description": "", "in": "path", "name": "id", "required": true, "type": "string" }, { "description": "", "in": "path", "name": "transfer", "required": true, "type": "string" }, { "description": "Body parameters for the request.", "in": "body", "name": "payload", "required": false, "schema": { "properties": { "metadata": { "description": "A set of key/value pairs that you can attach to a reversal object. It can be useful for storing additional information about the reversal in a structured format.", "title": "metadata", "type": [ "object" ] } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "$ref": "#/definitions/transfer_reversal" } }, "default": { "description": "Error response.", "schema": { "$ref": "#/definitions/error" } } } } } }, "produces": [ "application/json" ], "schemes": [ "https" ], "swagger": "2.0" }