Native Wallet Integration

Introduction

Native Wallet Integration allows you to accept payments directly from digital wallet providers without redirecting customers to external payment pages. This integration method provides a seamless, secure, and native payment experience within your mobile application or website.
By integrating directly with wallet providers (Apple Pay, Google Pay, and Samsung Pay), you can leverage the payment credentials securely stored on customers' devices, enabling faster checkouts and improved conversion rates.

Supported Payment Methods

This Integration supports the following digital wallet providers:

  • Apple Pay
  • Google Pay
  • Samsung Pay

Before You Start

Prerequisites

  1. MyFatoorah Demo Account: Create your test account at MyFatoorah Portal
  2. API Key: Generate your test API key from the portal (or you can also use a test token here)
  3. Webhook Configuration: Set up a webhook endpoint to receive payment status notifications

Environment URLs

EnvironmentAPI Base URL
Sandboxhttps://apitest.myfatoorah.com
Kuwait, UAE, Bahrain, Jordan, Omanhttps://api.myfatoorah.com
Saudi Arabiahttps://api-sa.myfatoorah.com
Qatarhttps://api-qa.myfatoorah.com
Egypthttps://api-eg.myfatoorah.com
🚧

Important

Always use the /v3/endpoint for this integration.
For example: https://apitest.myfatoorah.com/v3/payments
Older versions /v2 should not be used for new integrations.

How It Works

Integration Flow

  1. The customer selects their preferred wallet (Apple Pay, Google Pay, or Samsung Pay) on your platform.
  2. Your application communicates with the wallet provider to generate a payment token.
  3. Your server sends the wallet token to the MyFatoorah API endpoint along with payment details.
  4. MyFatoorah processes the payment and returns the OTP URL or the transaction result.

API Endpoint

The Native Wallet Integration uses a single unified endpoint for all wallet providers:

Endpoint: POST /v3/payments

{
    "PaymentMethod": "APPLE_PAY",
    "SourceOfFund": {
        "Token": "{\"PaymentData\":{\"version\":\"EC_v1\",\"data\":\"FY54AajfqpMCGOrXK0AePw8\/kxVVRMn\/hL7O0Yu1+j6nrSrJGSeUtVaDDJkvV9Nht+szczce3aWGk4CpZKWgZtFxMHWW4m8eMD2Ciq1S21ds451hQ1GhIaVJ+KZRdb0rTa39q3U5zSxb5ZyxJ6PcgAbn9UVLuy3rZvtN7WiCeh15GTMKsQA1Kky8M0Pan112xBWiOw\/7R+Lus68ADkBRMbe1UG8\/E8inocrk1Lym+nOuB9e44kQE6Z0c7ZjjK1fGG2ew+YHq1stk1bsAOOvIhjMmdAJLL1d0dsqjCqPIZv9MMDwUZRtfuUAFxn\/92lYm4WBJ22kaIBeGk\/fTx6fTFIuOxCgRA+yIdBIILF8NKXWG\/9zA5BMufojlC8WBb0T8K1OWN4eswk7y5jg\/6tQ=\",\"signature\":\"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\/S5LMA8GA1UdEwEB\/wQFMAMBAf8wHwYDVR0jBBgwFoAUu7DeoVgziJqkipnevr3rr9rLJKswNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDovL2NybC5hcHBsZS5jb20vYXBwbGVyb290Y2FnMy5jcmwwDgYDVR0PAQH\/BAQDAgEGMBAGCiqGSIb3Y2QGAg4EAgUAMAoGCCqGSM49BAMCA2cAMGQCMDrPcoNRFpmxhvs1w1bKYr\/0F+3ZD3VNoo6+8ZyBXkK3ifiY95tZn5jVQQ2PnenC\/gIwMi3VRCGwowV3bF3zODuQZ\/0XfCwhbZZPxnJpghJvVPh6fRuZy5sJiSFhBpkPCZIdAAAxggGIMIIBhAIBATCBhjB6MS4wLAYDVQQDDCVBcHBsZSBBcHBsaWNhdGlvbiBJbnRlZ3JhdGlvbiBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMCCFnYobyq9OPNMAsGCWCGSAFlAwQCAaCBkzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yNTEyMDIwOTE3NDBaMCgGCSqGSIb3DQEJNDEbMBkwCwYJYIZIAWUDBAIBoQoGCCqGSM49BAMCMC8GCSqGSIb3DQEJBDEiBCBgEHd0qYFivIW\/juzkYS9ZM\/EJPtEof3BYxZF37VxYwTAKBggqhkjOPQQDAgRHMEUCIQDCTIdh626dVbaJN2iPnD4M0Zx8JM5FkEri+XNg8YzeOgIgBlqrEevxEHgwDRIWYVWgzC8+uYujiAiROWDEzt\/CEPcAAAAAAAA=\",\"header\":{\"ephemeralPublicKey\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEL7bmqfLGIjCAxd9WegJaS3kZcN4oqJFC+h+MjEKNXV6mWcR+wLfE39y3p\/oj33Oo1\/LI+tVcDi9\/mJHHCrR2YA==\",\"publicKeyHash\":\"hmOvu\/gjGyJ2irwuLSHzSB2irbqeEjsc\/IBnBTzfGnA=\",\"transactionId\":\"fb63b9dfd46b59420721e4a19b3e0397a9df2aa70b6337aec8a52bcf6582609f\"}},\"PaymentMethod\":{\"displayName\":\"MasterCard 2095\",\"network\":\"MasterCard\",\"type\":\"credit\"},\"TransactionIdentifier\":\"fb63b9dfd46b59420721e4a19b3e0397a9df2aa70b6337aec8a52bcf6582609f\"}"
    },
    "Order": {
        "Amount": 23
    },
    "IntegrationUrls": {
        "Redirection": "https://your-website.com/payment-callback"
    }
}
{
    "PaymentMethod": "GOOGLE_PAY", 
    "SourceOfFund": {
        "Token": "{\r\n    \"apiVersion\": 2,\r\n    \"apiVersionMinor\": 0,\r\n    \"paymentMethodData\": {\r\n        \"description\": \"Test Card: Visa\u2006\u2022\u2022\u2022\u2022\u20061111\",\r\n        \"info\": {\r\n            \"assuranceDetails\": {\r\n                \"accountVerified\": true,\r\n                \"cardHolderAuthenticated\": false\r\n            },\r\n            \"cardDetails\": \"1111\",\r\n            \"cardNetwork\": \"VISA\"\r\n        },\r\n        \"tokenizationData\": {\r\n            \"token\": \"{\\\"signature\\\":\\\"MEUCIQDP0ytSfmJ7Mo4zPFH6t78PoaFH7wYYq5xPsfuLVvujJgIgPaPMIiyp2Eort9\/pv9aDbYjQjRG5CP5NBVdXMksvKws\\\\u003d\\\",\\\"intermediateSigningKey\\\":{\\\"signedKey\\\":\\\"{\\\\\\\"keyValue\\\\\\\":\\\\\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEnHL0h9ycZUzjH9COq9FahkCqns1j6qc+NN8iuLyAnxM0WNfoFi3MeqQhxK1fioveaO4zmmoZ3ej\/d2ZN8s4owg\\\\\\\\u003d\\\\\\\\u003d\\\\\\\",\\\\\\\"keyExpiration\\\\\\\":\\\\\\\"1756167622636\\\\\\\"}\\\",\\\"signatures\\\":[\\\"MEYCIQDt6aSVdAwXg7\/diWQnAWDmd22SBK6PMgud08iz34wOKAIhALMy42fMELwTDUIiQSMFVKm\/9q9eezWclCmwSQOY4\/Qv\\\"]},\\\"protocolVersion\\\":\\\"ECv2\\\",\\\"signedMessage\\\":\\\"{\\\\\\\"encryptedMessage\\\\\\\":\\\\\\\"hG9EF0oqYpf5GZiFDJj\/OJR3wTdmXlueew1KYDambfxiqK9ffMMnouU9RJi98POJNqIKe\/HqRei1qxDdGCpOOOlOoTCkO+8s4pL8nOBZvDqqjdZxFJs97AMT87jLZTjPmaUcNd6JdrVT+pQ2SRlm7uNFcuQpeC+8flaW7ctPHOWX1zGTV3q2gJD\/qrkqjJYC\/Udznskn99QWHtSPeg8jTMAszhZXPX\/VpoG0AZ12F45wz6RpWaEUgNhYe9N11ZXCbnNtRWdKWZzu47NtubUSZuN3lb4xpyWY8Cqi+oFYLIJwbyMUY73xHTFDJ6uCaQB\/8O1N75uXd028XsyMvvkic7VlWrDbBWveVbOZkvyT2sqIFdJcjULAzXolzhIdUrtg5GXMYuL94KHtiBbYtmHyTObnkzB2RPsJqwgIgRDhw+RYHXyreH0xUD2L01Hwz5GzaWtDhI0iCBSuFJFqquUFOIeRA5TNFw+C0nUCdQSq2Xa7nfOIb6NtDk3mgWWuId9H1MEEtwzo4FWG\/WGzuzvVtwBBuPTDZMTLC52aKC1T89QY9vK2\\\\\\\",\\\\\\\"ephemeralPublicKey\\\\\\\":\\\\\\\"BIqW+pLfre\/iuruyM59WNG+JzFbbMBvQonJPuRSJqQU0FecYEoah93m89VcH4R6P0omw\/JNZ+J0\/xQbQeaiiDp4\\\\\\\\u003d\\\\\\\",\\\\\\\"tag\\\\\\\":\\\\\\\"jYVQLDGPliiSHH6xJ0Yy7yg9bcGNk75voV0rVCtsijY\\\\\\\\u003d\\\\\\\"}\\\"}\",\r\n            \"type\": \"PAYMENT_GATEWAY\"\r\n        },\r\n        \"type\": \"CARD\"\r\n    }\r\n}",
    },
    "Order": {
        "Amount": 23
    },
    "IntegrationUrls": {
        "Redirection": "https://your-website.com/payment-callback"
    }
}
{
    "PaymentMethod": "SAMSUNG_PAY",
    "Order": {
        "Amount": 25
    },
    "SourceOfFund": { 
      "Token": "{\"method\":\"3DS\",\"recurring_payment\":false,\"card_brand\":\"visa\",\"card_last4digits\":\"1738\",\"3DS\":{\"type\":\"S\",\"version\":\"100\",\"data\":\"eyJhbGciOiJSU0ExXzUiLCJraWQiOiJpbTZnTk5ZaS9YZ3BWNTVMaWZkN3BBTkQ3VU9rb3BHRHhIcy9WSmJ5NytVPSIsInR5cCI6IkpPU0UiLCJjaGFubmVsU2VjdXJpdHlDb250ZXh0IjoiUlNBX1BLSSIsImVuYyI6IkExMjhHQ00ifQ.OhMqFJKaJEiOnbWOaZM5ZW39shG0RifMl3qjOwz8oetCjhKCMqsugh9u_T5Xbq8TLbmm5PUNuk0eGe4KBaE_9cQ4J3eaEP6V2fhWZlep_gwsJCZycvuNTLSfCGMcnkbEEOKMMxYiRMzcAskqbJzEUpDwmNLE5OPnUY9lnRStI3KakcMjMn-DCaBmKik9parv4mZeMniiqJnxXz39mWRsIEo5OF1B4OSMwLBsZIByfMgH3uGcT9oXdTvCPjI62uJ5ByR64pfMOCt1edZgM3cg0LJ-KqAhGM42uM4517rdQGh6BZcaAch9WCs34H_F8RtNUdZVKJp0nUEQAlHxW-dHOA.j8gt5xNXz6C008FJ.242zDcviTAB8EHRLc7oesQJ4YoqRLt3aeOaFjmYeopCFmWfZMXElFG-qrEYUrFCEeQ8FNU9_xM1Wc4MeBzMgUpGTFY7Nz--hZzFlfV1QelUlt0nvwS_-e7QWgadUZgEaWO7iyPC2vqUxezNjBP3hgrLiQP-9G9yZTItxu0hZDlw8ow5VurJOPjsYT5xzstMXik4W6T2dDEsO7_iS9tE6rs3Tr4wWC9CqVb4OPqBDekI2REi1dFjl65E.T7L9YdU1y0jMRXNlN7F_iA\"}}"
    },
"IntegrationUrls": {
        "Redirection": "https://your-website.com/payment-/callback"
    }
}

Next Steps

Ready to integrate? Choose your wallet provider and follow the detailed integration guide:

📘

Old Integration (V2)

In case you are using the integration for v2, you can find the documentation here: