Set up future Satispay payments
Learn how to save Satispay details and charge your customers later.
Web
This guide covers how to save Satispay payment details using Checkout, our fully hosted checkout page.
Set up Stripe Server-side
First, you need a Stripe account. Register now.
Use our official libraries for access to the Stripe API from your application:
Command Line
Select a language
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# Available as a gem
sudo gem install stripe
Gemfile
Select a language
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# If you use bundler, you can add this line to your Gemfile
gem 'stripe'
Getting permission to save a payment method Server-side
If you save your customer’s payment method for future use, you need permission. Creating an agreement (sometimes called a mandate) up front allows you to save your customer’s payment details, and potentially charge your customer when they’re not actively using your website or app.
Add terms to your website or app that state how you plan to save your customer’s payment method details, and let your customer opt in. If you plan to charge your customer when they’re offline, make sure that your terms also cover the following:
- The customer’s permission for you to initiate a payment or a series of payments on their behalf for specified transactions
- The anticipated frequency (that is, one-time or recurring) and timing of payments
- How you determine the payment amount
- Your cancellation policy, if you’re setting the payment method up for a subscription service
Make sure that you keep a record of your customer’s written agreement to these terms.
Create or retrieve a Customer Server-side
To reuse a Satispay payment method for future payments, attach it to a Customer.
Create a Customer object when your customer creates an account with your business, and associate the ID of the Customer object with your own internal representation of a customer. Alternatively, you can create a new Customer before saving a payment method for future payments.
Create a new Customer or retrieve an existing Customer to associate with this payment. Include the following code on your server to create a new Customer:
Command Line
Select a language
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
Create a Checkout Session Server-side
Your customer must authorize you to use their Satispay account for future payments through Stripe Checkout. This allows you to accept Satispay payments. Add a checkout button to your website that calls a server-side endpoint to create a Checkout Session.
index.html
<html>
<head>
<title>Checkout</title>
</head>
<body>
<form action="/create-checkout-session" method="POST">
<button type="submit">Checkout</button>
</form>
</body>
</html>
Create a Checkout Session in setup mode to collect the required information. After creating the Checkout Session, redirect your customer to the URL that the response returns.
Select a language
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
client.v1.checkout.sessions.create({
mode: 'setup',
customer: customer.id,
success_url: 'https://example.com/success',
})
Test your integration
Select Satispay as the payment method, then click Continue to Satispay. You can test the successful setup case by authenticating the SetupIntent on the redirect page. The SetupIntent transitions from requires_action to succeeded.
