MobilePay payments
Learn how to accept MobilePay, a popular payment method in Denmark and Finland.
Checkout
Elements
Direct API
Mobile
MobilePay is a single-use card wallet payment method used in Denmark and Finland. It allows your customer to authenticate and approve payments using the MobilePay app.
When your customer pays with MobilePay, Stripe performs a card transaction using the card data we receive from MobilePay. The processing of the card transaction is invisible to your integration, and Stripe immediately notifies you whether the payment succeeded or failed.
Use this guide to enable MobilePay on Checkout, our hosted checkout form, and learn the differences between accepting payments using dynamic payment methods and manually configuring payment methods.
Determine compatibility
A Checkout Session must satisfy all of the following conditions to support MobilePay payments:
- Prices for all line items must be expressed in Euro, Danish Krona, Swedish Krona or Norwegian Krona (currency codes eur , dkk , sek or nok ).
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'
Accept a payment
Note
This guide builds on the foundational accept a payment Checkout integration.
Enable MobilePay as a payment method
When creating a new Checkout Session, you need to:
- Enable MobilePay in your Dashboard. Stripe automatically displays MobilePay to eligible customers using dynamic payment methods . If you currently specify payment _ method _ types , see the migration guide .
- Make sure all your line _ items use the eur , dkk , sek or nok currency.
Command Line
Select a language
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
Fulfill your orders
After accepting a payment, learn how to fulfill orders.
Handle post-payment events
Stripe sends a payment_intent.succeeded event when the payment completes. Use the Dashboard, a custom webhook, or a partner solution to receive these events and run actions, like sending an order confirmation email to your customer, logging the sale in a database, or starting a shipping workflow.
Listen for these events rather than waiting on a callback from the client. On the client, the customer could close the browser window or quit the app before the callback executes, and malicious clients could manipulate the response. Setting up your integration to listen for asynchronous events also helps you accept more payment methods in the future. Learn about the differences between all supported payment methods.
- Handle events manually in the Dashboard Use the Dashboard to view your payments, send email receipts, handle payouts, or retry failed payments.
- Build a custom webhook Build a custom webhook handler to listen for events and build custom asynchronous payment flows. Test and debug your webhook integration locally with the Stripe CLI.
- Integrate a prebuilt app Handle common business events, such as automation or marketing and sales, by integrating a partner application.
Test the integration
To test your integration, choose MobilePay as the payment method and tap Pay. In a testing environment, this redirects you to a test payment page where you can approve or decline the payment.
In live mode, tapping Pay redirects you to the MobilePay mobile application, where you can approve or decline the payment.
Optional Authorize a payment and then capture later
Optional Cancellation
Failed payments
MobilePay transactions can fail if the underlying card transaction is declined. Learn more about card declines. In this case, the PaymentMethod is detached and the PaymentIntent’s status automatically transitions to requires_payment_method.
When the PaymentIntent’s status is requires_action, your customer must authenticate the payment within 5 minutes. If no action is taken after 5 minutes, the PaymentMethod detaches and the PaymentIntent’s status automatically transitions to requires_payment_method.
Refunds and disputes
Stripe performs a card transaction using standard card rails as part of a MobilePay transaction. Refunds and disputes are subject to the Visa and Mastercard network rules.
