PayPal
Accept PayPal payments in your online store.
PayPal allows your customers to make payments in your app or website using funds added to their PayPal account. Use the emerchantpay Payment Gateway API PayPal documentation to accept PayPal as a payment method across all of emerchantpay’s payment integrations.
| Payment method | Countries/regions | Supported payments |
|---|---|---|
| eWallet | Global | PayPal Wallet (funded by card or bank account) |
Prerequisites
To integrate with PayPal, connect to the emerchantpay payment gateway using the emerchantpay PayPal API. You should have a working knowledge of web programming languages, HTTP methods in XML and JSON formats, and UTF8 encoding. Use the emerchantpay Payment Gateway SDK libraries with code samples to integrate with the payment gateway in a range of languages.
For a solution that requires less development overhead, accept PayPal payments through the emerchantpay Web Payment Form (WPF). Contact your Account Manager and tell them you want to accept PayPal through the WPF, and refer to the emerchantpay Payment Gateway API WPF documentation.1. Create a PayPal payment request
To submit a payment using PayPal, create a PayPal payment request to the emerchantpay payment gateway. Specify pay_pal as the transaction_type and the type of payment in payment_type.
Example of passing a PayPal transaction request:
<?xml version=”1.0″ encoding=”UTF-8″?>
<payment_transaction>
<transaction_type>pay_pal</transaction_type>
<transaction_id>119643250547501c79d8295</transaction_id>
<payment_type>authorize</payment_type>
<usage>40208 concert tickets</usage>
<remote_ip>13.456.789.0</remote_ip>
<amount>100</amount>
<currency>USD</currency>
2. Receive a response
You will receive a Success or Error response to your payment request.
Example of a Success response: <?xml version=”1.0″ encoding=”UTF-8″?>
<payment_response>
<transaction_type>pay_pal</transaction_type>
<status>approved</status>
<mode>live</mode>
<transaction_id>119643250547501c79d8295</transaction_id>
<unique_id>44177a21403427eb96664a6d7e5d5d48</unique_id>
<consumer_id>123456</consumer_id>
<avs_response_code>5I</avs_response_code>
<avs_response_text>Response provided by issuer processor; Address information not verified</avs_response_text>
<authorization_code>345678</authorization_code>
<response_code>00</response_code>
<timestamp>2022-06-29T15:36:35Z</timestamp>
<descriptor>Acme Co.</descriptor>
<amount>100</amount>
<currency>USD</currency>
<sent_to_acquirer>true</sent_to_acquirer>
<scheme_transaction_identifier>019091214161031</scheme_transaction_identifier>
</payment_response>
redirect_url to redirect your customer to authorise the payment with PayPal. See the emerchantpay PayPal API documentation for the complete list of PayPal response parameters and code samples.
Asynchronous notification
Because the PayPal payment transaction is asynchronous, the result of your customer’s payment is sent as a separate HTTP POST notification from the gateway to the notification_url that you supplied with the transaction request.
:transaction_id=>”1e50a741730df25a0bf202″
:terminal_token=>”3d566f6cab557e15325c40540″
:unique_id=>”b2e2feb2f26243dca283b”
:transaction_type=>”pay_pal”
:status=>”approved”
:signature=>”301b0a3de57d1e93653b073dd8d1d63b”
:amount=>20000
:customer_email=>”jsmith@example.com”
:customer_phone=>”+44123456789″
:first_name=>”John”
:last_name=>”Smith”
:state=>”ress”
status field provides you with information on the outcome of the transaction. See Transaction States for more information about transaction statuses.
Use the signature field to verify that the notification has been sent by the emerchantpay payment gateway. Each session signature is generated by combining the unique_id of the transaction and your API password, and generating a SHA-1 hash function of the combined string.
signature = SHA-1 hash value of <unique_id><API password>
| unique_id | API password | signature |
|---|---|---|
| 26aa150ee68b1b2d6758a0e6c44fce4c | 50fd87e65eb415f42fb5af4c9cf497662e00b785 | c5219b3d385e74496b2b48a549 |
| 3f760162ef57a829011e5e2379b3fa17 | 50fd87e65eb415f42fb5af4c9cf497662e00b785 | 14519d0db2f7f8f407efccc9b099 |
After you have verified the notification state and validity, render an XML page containing the transaction’s unique id to acknowledge that you have received the notification.
Example of a notification reply you use to confirm a notification:<?xml version=”1.0″ encoding=”UTF-8″?>
<notification_echo>
<unique_id>3f760162ef57a829011e5e2379b3fa17</unique_id>
</notification_echo>
3. Test your integration
Before you can accept live payments, you must test your integration in the emerchantpay staging environment.
- Add an item to your cart in your online store.
- Proceed to the checkout page and check out using the PayPal button.
- Follow the redirect link to PayPal’s website
- Log in to PayPal.
- Set the payment status to Confirm.
- Log in to the Gateway Console.
- In the navigation menu, go to Payment transactions.
- Verify that the transaction appears at the top of the list and is successful.
4. Accept live payments
After you have successfully tested your PayPal integration, you are ready to move to the production environment and accept live payments. Contact your emerchantpay Account Manager to get your login credentials for the production environment.
You are now ready to accept live payments using PayPal.