Navigating Pitfalls in Samsung Pay SDK Integration

Ummey Habiba Bristy

Engineer, Samsung Developer Program

As businesses strive to enhance their mobile payment capabilities and provide seamless transaction experiences to users, integrating third-party payment solutions like Samsung Pay has become increasingly common. However, amid the excitement of implementing these solutions, developers often encounter challenges and pitfalls that can hinder the integration process and impact the overall user experience. In this blog, we show some of the most common mistakes developers make when integrating the Samsung Pay SDK, and offer practical insights and best practices to overcome these hurdles and ensure successful implementation and testing.

Pitfall 1: Using an unofficial email ID

To implement the Samsung Pay SDK, the first step is to establish a partnership between your company and Samsung. When submitting a partnership request, do so using your company's official email domain. This precaution is crucial, as partnership requests originating from non-official email addresses are prone to rejection by the Samsung Relationship Manager.

Pitfall 2: Providing the wrong Issuer Name while creating your service

While creating a service for the push provisioning feature, you have to add the issuer names, meaning the names of your financial institution or bank. You must make sure to provide the correct names that have been registered with the card networks such as Visa, MasterCard and so on. If incorrect names are provided, the getAllCard() API returns an empty list even though the card has already been added to the Samsung Wallet.

To confirm your issuer name, first add your card to the Samsung Wallet application. Tap on the card in the Wallet application, open the More menu, and select Customer services. The correct issuer name is listed on the “Customer services” pane.

To correct your issuer name for services that you have created:

  1. Select My Projects > Service Management.

  2. Select the service name to open the service details page.

  3. Select Edit Info. You can delete the incorrect issuer name and enter a new one.

Pitfall 3: Using Service ID with an invalid effective date

A common error that occurs during SDK integration is the ERROR_EXPIRED_OR_INVALID_DEBUG_KEY (-310) error. This error occurs in two cases:

  1. Using a newly created service ID without generating an expiration date of the service: After creating a service, if you check the Edit Info of the service details page, you will find that the debug effective data is blank. Hence, you have to generate a date right after creating the service.

  2. Using a service ID with an expired debugging date: The service ID provided by Samsung Pay portal remains valid for 90 days. After that time, the service expires. Therefore, you must generate a date for debugging every 90 days.

To generate or extend the validity date of the service:

  1. Select My Projects > Service Management.

  2. Select the service name to open the service details page.

  3. Select Edit Info.

  4. Click Generate New Date.

  5. Provide a Samsung account for testing the application. This account is placed on the allow list for testing.

  6. Click Generate. The new expiration date of your service appears on the page. Remember to extend the date after 90 days if you continue testing your application past that point.

Pitfall 4: Configuring the release service with insufficient information

It is essential to include the APK file when setting up the release service. Failure to include the APK file will result in Samsung Pay’s Relationship Manager rejecting the service, leading to delays in the release process. Additionally, ensure that you have correctly integrated the appropriate service ID into your release application.

Pitfall 5: Testing your application with a mismatched configuration

Samsung Wallet uses the service ID, package name, and APK signature for partner verification. If you test your application with an APK signature different from the one already registered in the Samsung Pay portal, Samsung Pay recognizes that the APK signature is inconsistent with the service ID and produces the error code -6 (NOT_ALLOWED).

In conclusion, navigating the integration of the Samsung Pay SDK can present you with many challenges. But, armed with the knowledge shared here, you can steer clear of some potential pitfalls and ensure a smoother implementation process. By prioritizing thorough testing, adhering to best practices, and maintaining clear communication with Samsung's support channels, you can mitigate risks and deliver a seamless payment experience to users.