9
votes

I have the following requirements:

  • The PayPal verification screen remembers the buyer between transactions.
  • The layout of PayPal verification screen is suitable for mobile devices (responsive layout).
  • Parallel payments (2 and more receivers).
  • Apple iOS Safari browser.

Current implementation:

We create the payment on the backend with the call:

POST https://svcs.paypal.com/AdaptivePayments/Pay

Body:

{
  'receiverList': {
    'receiver': [
      {
        'primary': false, 
        'email': '[email protected]', 
        'amount': '.51'
      }
    ]
  }, 
  'memo': 'redacted', 
  'returnUrl': 'http://oursite.example.com', 
  'cancelUrl': 'http://oursite.example.com', 
  'feesPayer': 'EACHRECEIVER', 
  'actionType': 'PAY', 
  'currencyCode': 'USD', 
  'requestEnvelope': {}, 
  'ipnNotificationUrl': 'http://oursite.example.com'
}

After getting the response, we redirect the buyer in Apple Safari (iOS 13.6.1) to:

https://www.paypal.com/webapps/adaptivepayment/flow/pay?expType=mini&paykey=AP-1234567

We get the following pages (one before login, the second after login):

enter image description here

enter image description here

PayPal OneTouch is enabled for the buyer account. Reference: https://www.paypal.com/us/webapps/mpp/one-touch-checkout

The buyer makes the payment in the US with a US-based PayPal account.

The problems:

  • The layout is not for mobile. It is hard to read and navigate.

  • PayPal doesn’t remember my previous authentication.

How to fix it?

1

1 Answers

3
votes

Adaptive Payments is very old, was deprecated since December of 2017, and is now obsolete.

AP is not mobile optimized, and is not designed to work with One Touch.

You can still test it in Sandbox mode, and legacy live integrations may still work, but no new integrations are supported. You cannot obtain a new Adaptive Payments APP ID. They don't exist anymore.

Basically, you should not use Adaptive Payments for anything.


As for alternate solutions that might work for a "parallel" scenario, perhaps you could implement a PayPal Checkout to a single receiver that has Payouts, and then send Payouts to other receivers. You'll need to contact PayPal to find out if Payouts is permitted for your particular use case and will be activated for your account in live. Here is the information on requesting that approval: https://developer.paypal.com/docs/payouts/integrate/prerequisites/#get-access-to-paypal-payouts