Payment-method icon

DANA Redirect Component

Add DANA to your existing iOS Components integration.

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

Requirements

Select which endpoint you are using:

Requirement Description
Integration type Make sure that you have built a Sessions flow iOS Components integration.
Setup steps Before you begin:

If you want to accept recurring payments, contact your Adyen Account Manager to complete the onboarding process.

API reference

You do not need to send additional fields for DANA. To see optional fields that you can send for all payment methods, choose the endpoint you integrated:

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 DANA 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("dana")) 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: DanaPaymentMethod.self) else { return }
let style = FormComponentStyle()
let component = DanaComponent(paymentMethod: paymentMethod,
apiContext: context,
style: style)
present(component)

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

Recurring payments

DANA supports recurring transactions. To make recurring transactions, you need to:
  1. Create a shopper token.
  2. Use the token to make future payments for the shopper.

Create a token

To create a token, include in your /payments request:

  • storePaymentMethod: true
  • shopperReference: Your unique identifier for the shopper.

When the payment has been settled, you receive a webhook containing:

  • eventCode: RECURRING_CONTRACT
  • originalReference: The pspReference of the initial payment.
  • pspReference: This is the token that you need to make recurring payments for this shopper.

Make sure that your server is able to receive RECURRING_CONTRACT as part of your standard webhooks. You can enable the RECURRING_CONTRACT event code in the webhook settings page.

Make a payment with a token

To make a payment with the token, include in your /payments request:

  • paymentMethod.storedPaymentMethodId: The pspReference from the RECURRING_CONTRACT webhook.

    You can also get this value using the /listRecurringDetails endpoint.

  • shopperReference: The unique shopper identifier that you specified when creating the token.

  • shopperInteractionContAuth

  • recurringProcessingModel: Use Subscription for a series of transactions following a fixed time interval or UnscheduledCardOnFile for contracts with non-fixed time interval.

    Expand view
    Copy link to code block
    Copy code
    Copy code
    curl https://checkout-test.adyen.com/v68/payments \
    -H 'x-api-key: ADYEN_API_KEY' \
    -H 'content-type: application/json' \
    -d '{
    "amount":{
    "value":1000,
    "currency":"IDR"
    },
    "paymentMethod":{
    "type":"dana",
    "storedPaymentMethodId":"7219687191761347"
    },
    "reference":"YOUR_ORDER_NUMBER",
    "merchantAccount":"YOUR_MERCHANT_ACCOUNT",
    "shopperReference":"YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j",
    "shopperInteraction":"ContAuth",
    "recurringProcessingModel": "Subscription"
    }'

Test and go live

To test successful DANA live payments, you need to use a real mobile number registered with a DANA account.

If you are encountering issues with testing DANA payments, contact our Support Team.

Check the status of DANA test payments in your Customer Area > Transactions > Payments.

Before you can accept live DANA payments, you need to submit a request for DANA in your live Customer Area.

See also