Skip to content
Last updated

A top-up is the reverse of a payout: it increases your PayPro balance instead of withdrawing from it. Top-ups can be created in multiple ways:

We will now discuss how to create a Top-up with our Top-ups API.

Creating a Top-up

A Top-up is a resource in our API. Create one by calling the Top-up create endpoint with an amount and currency. You can optionally supply a pay_method (ideal, bancontact or bank-transfer) and a locale:

$top_up = $paypro->topUps->create(
  [
    'amount' => 10000,
    'currency' => 'EUR'
  ]
);

A top-up has a unique ID, which can be useful as a payment reference when doing a manual bank transfer. Once the top-up is paid, your PayPro balance is automatically increased by its amount. You can also supply metadata to store your own data alongside the top-up, which is returned when you fetch the top-up again.

Listen for Webhook Events

Just like payments, top-ups are paid asynchronously. To stay informed about status changes we recommend implementing our Webhooks. You can subscribe to the following top-up events:

  • topup.created
  • topup.started
  • topup.canceled
  • topup.paid
  • topup.failed
  • topup.expired

For more details on how to set up and manage webhooks, visit the webhooks page.