Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

4466 articles

MobilePay payments


MobilePay payments

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:

  1. 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 .
  2. 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.

See also

Last verified 2026-09-24

Is this helpful?