| Fees | You don't add any additional surcharge or fee for PayPal transactions. | required |
| Customer journey | Selecting the PayPal payment method takes the shopper directly to PayPal, without any deviations or intermediate steps, and then back to your app. | required |
| Payment methods | If you allow payment methods to be stored and/or set as a preference, PayPal can also be stored as a payment method or and/or payment preference. | required |
| Payment methods | For the customer's first payment, no payment method should be preselected by default. For subsequent payments, the customer's previously used payment method may be preselected. | optional |
| Payment methods | When a payment method is selected, any fields specific to other payment methods are hidden (e.g., credit card fields are hidden if a customer selects PayPal). | optional |
| Account | The customer isn't required to log into or create a store/application account. | optional |
| Thank-you screen | The buyer should see a "Thank you" screen on return to your app after the PayPal checkout process. PayPal details or logos should be presented such that behaviour is in parity with other payment methods. | required |
| WebView security | The PayPal integration uses secure WebView with proper SSL/TLS handling and content security policies. | required |
| Shipping address validation | When a customer enters an invalid shipping address, your own address validation corrects the address, preventing the invalid address from being sent to PayPal. If address data validation isn't performed, then the PayPal failure error is handled. The customer is notified and asked to correct the address. | required |
| Lifecycle management | The PayPal component is properly managed through Android activity/fragment lifecycle to prevent memory leaks. | required |
| Back button handling | The Android back button correctly cancels PayPal flow and returns user to previous screen with proper state restoration. | required |