Payment-method icon

MobilePay iOS Redirect Component

Add MobilePay to an existing iOS Components integration.

This page explains how to add MobilePay to your existing iOS Components integration.

Requirements

Requirement Description
Integration type Make sure that you have built your iOS Components integration.
Setup steps Before you begin, add MobilePay in your test Customer Area.

API reference

Select which endpoint you are using:

This is the default with Components v5.0.0 or later.

Parameter name Required Description
telephoneNumber If you already have your shopper's phone number, send it in the request so they no longer have to provide this later when they are redirected to MobilePay.

For a full list of optional fields that you can send for all payment methods, see /sessions.

Expand view
Copy link to code block
Copy code
Copy code
curl https://checkout-test.adyen.com/checkout/v69/sessions \
-H 'x-api-key: ADYEN_API_KEY' \
-H 'content-type: application/json' \
-d '{
"merchantAccount": "YOUR_MERCHANT_ACCOUNT",
"reference": "YOUR_ORDER_REFERENCE",
"amount": {
"currency": "DKK",
"value": 1000
},
"countryCode": "",
"telephoneNumber": "+4512345678",
"returnUrl": "my-app://adyen"
}'

Component configuration

v5.0.0 or later

If your integration uses iOS Components v5.0.0 or later, configure and create an instance of the MobilePay Component:

Component configuration
Expand view
Copy link to code block
Copy code
Copy code
let paymentMethods = session.sessionContext.paymentMethods
// Check that the payment method is supported before showing the Component.
guard let paymentMethod = paymentMethods.paymentMethod(ofType: .other("mobilepay")) else { return }
let component = InstantPaymentComponent(paymentMethod: paymentMethod,
context: context,
order: nil)
self.currentComponent = component
// Set the session as the delegate.
component.delegate = session
component.initiatePayment()

v4.x.x

If your integration uses an earlier version of iOS Components:

Component configuration
Expand view
Copy link to code block
Copy code
Copy code
// Check that the payment method is supported before showing the Component.
guard let paymentMethod = paymentMethods.paymentMethod(ofType: MobilePayPaymentMethod.self) else { return }
let style = FormComponentStyle()
let component = MobilePayComponent(paymentMethod: paymentMethod,
apiContext: context,
style: style)
present(component)

There are no configuration steps specific to MobilePay required for Components.

Test and go live

MobilePay cannot be tested in the test environment. You must make penny test (low-amount) payments in the live environment.

Request for MobilePay in the live environment

Submit a request for MobilePay in your live Customer Area.

After MobilePay is added to your live Customer Area, do the following for each test payment:

  1. Make a MobilePay payment for a low amount.
  2. Get the AUTHORISATION webhook on your server. It includes the status of the payment.
  3. In your live Customer Area, go to Transactions > Payments to see the status of the payment.

See also