Table of Contents
Subscriptions are not supported with PesaPal at this time. If you intend to sell subscriptions with your FoxyCart store, you will need to make use of another payment gateway.
Setting Up PesaPal for FoxyCart
Important: Ensure all the following steps are completed for your PesaPal account, as without it transactions could fail to complete correctly.
- Login to your PesaPal Merchant account and click on IPN Settings in the menu
- In the Website Domain enter
- In the Website IPN Listener Url field, enter
- 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.comand 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.comand the IPN Listener Url would be
Obtaining a Test Account
Contact PesaPal for info. Know more? Feel free to edit this page with info.
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. Know more? Feel free to edit this page with 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.
status node can contain one of three different values:
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.
User Notes and Experiences
If you have tips, experience, or helpful notes related to this gateway that would benefit others, please add them below, including your name and the date. We reserve the right to edit or remove comments that don't add value to this page.