A Mandate is a record of the permission that your customer gives you to debit their payment method.
Attributes
- idstring
Unique identifier for the object.
- customer_
acceptanceobject Details about the customer’s acceptance of the mandate.
- payment_
methodstringExpandable ID of the payment method associated with this mandate.
- payment_
method_ detailsobject Additional mandate information specific to the payment method type.
- statusenum
The mandate status indicates whether or not you can use it to initiate a payment.
Possible enum valuesactive
The mandate can be used to initiate a payment.
inactive
The mandate was rejected, revoked, or previously used, and may not be used to initiate future payments.
pending
The mandate is newly created and is not yet active or inactive.
- typeenum
The type of the mandate.
Possible enum valuesmulti_
use Represents permission given for multiple payments.
single_
use Represents a one-time permission given for a single payment.
More attributes
- objectstring
- livemodeboolean
- multi_
usenullable object - on_
behalf_ ofnullable stringConnect only - single_
usenullable object
{ "id": "mandate_1MvojA2eZvKYlo2CvqTABjZs", "object": "mandate", "customer_acceptance": { "accepted_at": 123456789, "online": { "ip_address": "127.0.0.0", "user_agent": "device" }, "type": "online" }, "livemode": false, "multi_use": {}, "payment_method": "pm_123456789", "payment_method_details": { "sepa_debit": { "reference": "123456789", "url": "" }, "type": "sepa_debit" }, "status": "active", "type": "multi_use"}
Retrieves a Mandate object.
Parameters
No parameters.
Returns
Returns a Mandate object.
{ "id": "mandate_1MvojA2eZvKYlo2CvqTABjZs", "object": "mandate", "customer_acceptance": { "accepted_at": 123456789, "online": { "ip_address": "127.0.0.0", "user_agent": "device" }, "type": "online" }, "livemode": false, "multi_use": {}, "payment_method": "pm_123456789", "payment_method_details": { "sepa_debit": { "reference": "123456789", "url": "" }, "type": "sepa_debit" }, "status": "active", "type": "multi_use"}
A PaymentIntent guides you through the process of collecting a payment from your customer. We recommend that you create exactly one PaymentIntent for each order or customer session in your system. You can reference the PaymentIntent later to see the history of payment attempts for a particular session.
A PaymentIntent transitions through multiple statuses throughout its lifetime as it interfaces with Stripe.js to perform authentication flows and ultimately creates at most one successful charge.
Related guide: Payment Intents API
- POST/
A SetupIntent guides you through the process of setting up and saving a customer’s payment credentials for future payments. For example, you can use a SetupIntent to set up and save your customer’s card without immediately collecting a payment. Later, you can use PaymentIntents to drive the payment flow.
Create a SetupIntent when you’re ready to collect your customer’s payment credentials. Don’t maintain long-lived, unconfirmed SetupIntents because they might not be valid. The SetupIntent transitions through multiple statuses as it guides you through the setup process.
Successful SetupIntents result in payment credentials that are optimized for future payments. For example, cardholders in certain regions might need to be run through Strong Customer Authentication during payment method collection to streamline later off-session payments. If you use the SetupIntent with a Customer, it automatically attaches the resulting payment method to that Customer after successful setup. We recommend using SetupIntents or setup_future_usage on PaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods.
By using SetupIntents, you can reduce friction for your customers, even as regulations change over time.
Related guide: Setup Intents API