let's talk

How to Integrate Apple Pay in My App? The Ultimate Answer

4 min read

Today Apple Pay accounts for 70% of the world’s card payment transactions, making the Apple payment gateway a must-have for any digital business. Additionally, it allows you to accept overseas payments since this service is available in over 20 countries. So what are you waiting for?

Let us show you how you can implement Apple Pay onto your own mobile application.

The reasons for Apple Pay integration

As noted above, Apple Pay is a leader within the credit card payments market. It’s a simple one-touch way to make online payments, the simplicity of which, helps increase your customers’ satisfaction rate. Especially, if we talk about your Minimal Viable Product.

In Q3 of 2019, Apple reported record profits of almost 54$ billion. This number was led by services, like Apple Pay, showing just how huge their market is! At the moment 90% of all contactless payments in the USA are made by Apple.

  • It’s commonly integrated into apps. In 2019 alone 10 billion contactless payments were made using Apple Pay.
  • It’s popular, with over- 253 million people already using this payment method.

Benefits for your customers

  1. Guaranteed security. According to statistics, 50% of users are concerned about the security of their personal data, which is a good reason to set up Apple Pay! It uses device-specific numbers and codes, meaning it is almost impossible to copy.
  2. It helps you create an easy and quick user experience for your customers, and it’s one of the best ways to accept credit cards on your phone seamlessly from around the world. A smooth one-click payment transaction is so much better than empty text inputs to enter credit card data. Especially, when you would need to save your details on the website in order to have a one-click payment on your return. In 2019 it’s essential that you are implementing the best features since requirements stage as user expectations are a lot higher these days.

Interesting apple pay statistic

How to set up Apple Pay in 28 steps

I’ve used a React Native framework for front-end and Laravel for back-end. The general workflow to implement Apple Pay is as follows:

  1. Create a Merchant account.
  2. Set up an Apple Pay configuration for the project in your Xcode.
  3. Then go to iTunes Connection. There you will need to create a sandbox user.
  4. Add a test card.
  5. Create a test request to make a payment.
  6. Handle the result.

However, the details are a little more complicated. Below we will outline step by step how to set up Apple Pay:

1. Create an account to enable Apple Pay in your mobile application. Follow the official setup steps.

2. Next set up your server, not forgetting to first check out the official requirements.

Code example

In the server configuration file, you will need to add one of the possible Cipher Suite referenced above. Take a look at our example configuration for Nginx.

3. Next, you need to set up your work environment. As always, check the official requirements first.

Overview of Apple's official requirements4. Here is an example of how to add the Apple Pay payment button.

Code for adding the Apple Pay payment button

Using the v-if directive you can check whether you have successfully installed Apple Pay sessions and whether users can now make payments using Apple Pay.

5. Now let’s create a certSigninRequest.certSigninRequest:

  • Open Keychain Access on your Mac (located in Applications/Utilities).
  • Open Preferences and click Certificates. Make sure both the Online Certificate Status Protocol and Certificate Revocation List are set to Off.
  • Choose Keychain Access > Certificate Assistant > Request a Certificate Authority. N.b. If you have your private key selected when you do this, the CSR won’t be accepted. Make sure you do not have a private key selected. Next, enter your user email address and user name. Use the same address and name that you used to register in the iOS Developer Program. A CA Email Address is required.
  • Select the option “Save to disk” and “Let me specify key pair information” and click Continue.
  • Specify a file name and click Save.

6. After Signing in you can register for your Apple Pay Developer account at https://developer.apple.com/

7. Go to menu “Certificates, IDs & Profiles”.

Overview of Apple developer account main page

8. Click on the button ‘add new certificate’.

List of Apple app developer certificates

9. Then choose the options Apple Pay Merchant Identity Certificate.

Page of creating a new certificate for app developer

10. Now choose the required Merchant from the list of those currently available.

Step of adding an app developer certificate

11. Go to menu “Identifiers” and filter by Merchant IDs.

Step of adding an app developer certificate

12. Choose the previously created Merchant.

13. Next, create an Apple Pay Payment Processing Certificate.

Step of adding an Apple Pay Payment Processing certificate

14. After the creation of a certificate, you will need to upload the .csr extension which is an ECC encrypted file. We receive this file from our payment system (in our example we work with the bank, so screen made there)

List of Apple Pay certifications example

15. Add and verify the domain, following the instructions on the screen. Pay attention every time you renew an SSL Certificate, as you will need to verify the domain each time.

Merchant Domains block example

16. If you missed step 5 go back and take a look at how to create a certSigninRequest.certSigninRequest. If you haven’t created one yet, now is the time using encryption RSA:2048.

17. Download your previously created certSigninRequest.certSigninRequest and then download merchant_id.cer.

18. Import received merchant_id.cer in Keychain (it required to export file in .p12).

19. In category Certificates in Keychain, you need to export the certificate using format .p12.

20. Generate merchantIdentityCert from the received file using the command below:openssl pkcs12 -in your_cer_name.p12 -out you_key_cert_name.pem -clcerts.

21. Enter the password that was entered during export merchant_id.cer in .p12.

22. Enter PEM pass phrase – this will be the key to the generated merchantIdentityCert.

23. Put the generated merchantIdentityCert in the project’s folder.

24. Use merchantIdentityCert in the body of the request for validation Apple Pay Session.

25. Example of the request where we see:

Apple Pay Session code request example
  1. Use the answer to complete Merchant validation. Take a look:
Code for completing merchant validation

27. Create the Apple Pay button in accordance with the requirements here in the section “Display an Apple Pay button”

28. Code listing in Apple Pay using Payment Request API

Code listing in Apple Pay using Payment Request APIPart of Code listing in Apple Pay using Payment Request API

Part of Code listing in Apple Pay using Payment Request API

Summary

Connecting Apple Pay in application is a pain point for many developers. There too man reasons why it’s actually is a pain! The lack of clear guidelines the main one. As well as complicated requirements by Apple.

That’s why SpdLoad’s team is happy to share with you our expertise in implementing Apple Pay. It saves you a it saves you a huge amount of resources and boost up own in-house development level. The main challenge you may face is adopting our guideline to your personal requirements. Such as different payment gateways.

We would be happy to help you with development of your application! Feel free to ask question, comment and share. We hope you enjoy it!

Max

CEO

a moment ago

Struggling with making your app Apple friendly?

Fill out the form and we will contact you as soon as possible to discuss all the details.

Let's discuss it

Recommended posts

Benefits of CRM for Recruiting For Your Business

Benefits of CRM for Recruiting For Your Business

In today’s fast-paced business landscape, hiring the right talent is crucial for achieving and sustaining success. The ability to attract top-notch candidates…

read more
Is React Native Good for Mobile App Development?

Is React Native Good for Mobile App Development?

React Native app Development space has grown over the years as it currently has over 38% market share. Also, React Native app…

read more
How to Design an HR Application From Scratch?

How to Design an HR Application From Scratch?

In the modern workplace, HR applications have become indispensable tools for organizations. They have revolutionized the way HR processes are managed and…

read more
Cloud Showdown: A Detailed Comparison of AWS, DigitalOcean, and Google Cloud

Cloud Showdown: A Detailed Comparison of AWS, DigitalOcean, and Google Cloud

In today’s digital landscape, startups heavily rely on cloud service providers to power their operations efficiently. The selection of the right provider…

read more
How Much Does It Cost to Build Your Own HR Software?

How Much Does It Cost to Build Your Own HR Software?

In today’s fast-paced business world, startups face unique challenges when it comes to managing their human resources. From hiring and onboarding new…

read more
How To Create a Professional Website for Your eCommerce Business

How To Create a Professional Website for Your eCommerce Business

Having a professional website is crucial for the success of any eCommerce business. A well-designed and user-friendly website not only enhances the…

read more
What Is the Impact of Artificial Intelligence on Web Development? 

What Is the Impact of Artificial Intelligence on Web Development? 

As technology advances, AI, or artificial intelligence, is becoming one of the most critical parts of web development. AI allows developers to…

read more
How to Find a Laravel Developer? [Step-by-step guide]

How to Find a Laravel Developer? [Step-by-step guide]

Are you a startup founder, tech executive, or serial entrepreneur looking for insights on how to choose a Laravel developer? Or are…

read more
From 0 to 1 Million in Revenue: 7-Step SEO Strategy for Startups

From 0 to 1 Million in Revenue: 7-Step SEO Strategy for Startups

Unlocking the path to success can be exhilarating and challenging. If you’re starting from scratch, you might find yourself wondering how to…

read more