Documentation You are here: start » gateways » pawapay
type:
gateway
name:
pawaPay
countrie:
BF, BJ, CD, CG, CI, CM, GA, GH, KE, LS, MW, MZ, NE, RW, SL, SN, TZ, UG, ZM
support-added:
2.0.0
auth-net-emulation:
no
supports-3dsecure:
no
gateway:
https://www.pawapay.io

pawaPay

Setting Up pawaPay for FoxyCart

Once you have your pawaPay account created, you will need to configure your account with a couple settings, and then set your API key into your Foxy payment settings

  1. In your pawaPay account administration, navigate to System Configuration > Callback URLs
  2. Within the “Deposits” and “Refunds” text inputs on this page, set the IPN URL for your Foxy store.
    1. The URL for these settings will look like https://YOUR-STORE.foxycart.com/ipn.php. You will need to set the correct store domain depending on your store settings. If your FoxyCart store domain was example.foxycart.com, you would set the URLs 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 URLs would be https://secure.yourstore.com/ipn.php.
  3. Save the Callback URLs settings
  4. Navigate to System Configuration > API Tokens > Security
  5. Enable the “Sign all callbacks” option
  6. Within the same API Tokens page, navigate to the “Create” section
  7. Click the “Generate Token” button which will generate a new API Token. Note that this token will only be shown once - copy this URL to your clipboard
  8. Log in to the Foxy administration and proceed to the Settings > Payments section
  9. Select your desired payment set (if you just have the one it will be the “Default Payment Method Set”
  10. Enable “pawaPay” as a payment option
  11. Within the settings for it, paste the API Token you generated from the pawaPay administration into the API Token text input and save

Country restrictions and potential currency conversions

Within your pawaPay account, you can specify which carriers are supported for payment, which in turn restricts what countries are supported for customers.

The Foxy integration for pawaPay uses the countries that are supported for the accounts carriers to determine which countries are allowed for payments through pawaPay. If a customer tries to complete the checkout with an address from a country that is not supported by one of the carriers of your pawaPay account, the checkout will error and let the customer know that the customer is not supported.

If the country is supported by a carrier on your pawaPay account, then the customer will be forwarded on to the pawaPay hosted payment page. If the currency of the cart does not match the currency for that country though, the total amount will be automatically converted to that currency to ensure that the amount the customer pays is in the correct currency. If the currency of the cart matches the currency of the country carrier, no currency conversion will happen.

This currency conversion will also happen when triggering partial refunds, which depending when the refund occurs, the conversion rate could be different than when the initial purchase occurred. Full refunds will always refund the full amount in the converted currency that was originally paid.

Testing

Obtaining a Test Account

pawaPay offer a sandbox system available at dashboard.sandbox.pawapay.io where you can sign up to create a test account. The configuration steps for a test account are the same as for production, so you can simply follow the steps detailed above once you are logged into the sandbox.

Test Card Numbers

There are some testing phone numbers available within the pawaPay documentation here.

Troubleshooting & Interpreting Response Codes

''INVALID_AMOUNT''

The carriers supported by pawaPay have specific limits for minimum and maximum amounts that they support for payments. These can be unique to the individual carriers supported for a country. If you exceed these limits, the attempt will error with something like this:

The provided 'amount' should fall within the limits of 1 and 2000000.

Note the values will be relative to the currency supported by the carrier.

Other errors?

Contact pawapay for info. Know more? Feel free to edit this page with info.

Important Notes and Caveats

Possible Action: Webhook 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 webhook 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 webhook 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.

Site Tools