2 min read • Updated 3 months ago

PesaPal

Features
  • 3-D Secure

Setting Up PesaPal for FoxyCart

  1. Login to your PesaPal Merchant account and click on IPN Settings in the menu

  2. In the Website Domain enter https://YOUR-STORE.foxycart.com

  3. In the Website IPN Listener Url field, enter https://YOUR-STORE.foxycart.com/ipn.php

  4. Important For the last two steps, ensure you change the URL's to match your actual FoxyCart store domain. For example, if your FoxyCart store domain was example.foxycart.com, you would set the Website Domain to https://example.foxycart.com and the IPN Listener Url to be https://example.foxycart.com/ipn.php. If you had a custom subdomain set up for your store though, and it was instead something like secure.yourstore.com, the Website Domain would be https://secure.yourstore.com and the IPN Listener Url would be https://secure.yourstore.com/ipn.php.

Testing

Obtaining A Test Account

Contact PesaPal for info on obtaining a test account.

Test Card Numbers

When on test servers, the card number to use to test a card is right below the card number field on the payment form.

Troubleshooting & Interpreting Response Codes

Contact pesapal for info.

Important Notes and Caveats

Possible Action: Datafeed Handling

At the time of the customer completing the transaction - we don't necessarily know whether the transaction was completed yet or not. We instead rely on a notification from the gateway after the checkout has been completed to confirm whether the transaction was approved or not. To handle this, transactions are initially marked as pending, and when we get a confirmation from the gateway on the result of the transaction, we update it accordingly. Each time the status changes, a datafeed will be sent to your endpoint if configured with the transaction details and the status node will be present.

The status node can contain one of three different values: pending, approved or rejected. Depending on the types of actions you're needing to perform at your datafeed endpoint, you need to make sure the appropriate status value is present first.


Need Help?

Did this article answer your questions? Need help with anything? Please click below to contact us.