Payments to this merchant are not allowed (invalid clientId) - Ionic iOS

Viewed 311

Im using the paypal plugin for ionic and is not working on iOS

I already have running this plugin on android and it is working perfect, and also have the clientid generated on https://developer.paypal.com/developer/applications/

doPayment() {
  const total: any = 10;
  const currency: any = 'USD';
  const envProduct: any = '';
  const envSandbox: any = '{Client ID from                                                                  developer.paypal.com/developer/applications/}';

  this.payPal.init({
    PayPalEnvironmentProduction: envProduct,
    PayPalEnvironmentSandbox: envSandbox
  })
  .then(() => {
    // Environments: PayPalEnvironmentNoNetwork,         PayPalEnvironmentSandbox, PayPalEnvironmentProduction
    this.payPal.prepareToRender('PayPalEnvironmentSandbox', new         PayPalConfiguration({
      // Only needed if you get an "Internal Service Error" after         PayPal login!
      // payPalShippingAddressOption: 2 //         PayPalShippingAddressOptionPayPal
        })).then(() => {
          const payment = new PayPalPayment(total, currency,         'Description', 'sale');
          this.payPal.renderSinglePaymentUI(payment).then(async ( res ) =>         {
          // rest of the code after payment
          }, ( errclose ) => {
          console.log( errclose ); // Error or render dialog closed         without being successful
          });
          }, ( errconf ) => {
          console.log( errconf ); // Error in configuration
          });
        }, ( errinit ) => {
          console.log( errinit ); // Error in initialization, maybe PayPal         isn't supported or something else
      });
}

Here is the Error:

Payments to this merchant are not allowed (invalid clientId)

Any help is appreciated. Thank you very much.

1 Answers

I get the same error, also on iOS only, when used Ionic Capacitor for runtime instead of Cordova. When I built the app using Cordova runtime it worked correctly on both platforms. Also, you could get the same error when specifying the 'PayPalEnvironmentSandbox' environment name but use production clientId and vice versa.

Related