iPay88 integration with react native

26 September 2018
The undocumented part
payment

So you need a payment gateway for your react-native app, and for any reason, your only best choice is iPay88.


The good news

You don't have to write your own sdk wrapper library.

There is already an open source library for you.

If you are looking to integrate iPay88 into your react-native app, take a look at this library.

I must say it is an awesome work from the developer.




The bad news

You got to be extremely patience.

Chances are, you are going to spent a lot of time to get your issue (not your ticket) resolved.

So be earlier in your integration, do it as soon as possible!




The undocumented part

To provide a bit of context to my experience, here is what I am trying to do:

  • integrate iPay88 and enable Alipay

If you are trying to enable credit card or online banking, you might have better experience integrating it.


PaymentId

So in order to enable selected/subscribed payment method, we need to provide paymentId for respective payment method, and in my case, for Alipay.

Alipay is supported by the platform(that's why it is chosen), but there is no documentation on the paymentId that need to be used, and you get Invalid parameters(Payment Not Allow) error.

A ticket was submitted, and got a response the next working day with a link in it to integrate by using "standard integration API doc".

Then you get the same documentation and it don't have the paymentId for Alipay.

The cycle repeats.

Another ticket was submitted, with greater precision on the issue(to avoid getting another reply with a link).

This time is different, I was asked to provide the merchant code, and redirect to contact with account manager.

After few more rounds, finally you got what you want. The paymentId for Alipay payment method.

However, it still didn't work.

What now?

Invalid parameters(Payment Not Allow)


Currency

So the above cycle, repeats again.

It was due to unsupported currency that caused it, but you only can know after a lot of emails, and many days later.

So be sure to ask about the supported currency if you are integrating Alipay with iPay88.




Key takeaway

  1. When in doubt, or facing issue, directly contact account manager.
  2. Integrating iPay88 in react-native app takes relatively longer time than other payment gateways, like Stripe or Braintree. There is no sandbox account or test account and mostly require time checking with account manager and communicating to and fro.
  3. Use the right merchant code, ask your account manager for confirmation. Generally, it is different from the web one.
  4. Make sure to handle the BackendPostURL in your backend.

If you are curious on the solutions, here you go.

You need to pass in paymentId: 118 and currency: 'CNY' if you are using Alipay.

iPay88 is great to be used for web integration. However, when it comes to mobile, there needs to be improvements.