Refunds allow you to return funds to your customer. These funds are deducted from your PayPro balance and are refunded to the card, bank account or wallet used in the initial payment.
You can create refunds yourself or in some cases the customer can initiate a refund.
Refer to our Refund guide on how to manage and create refunds.
Chargebacks are created by our system when a customer files a dispute and initiates a chargeback. For example this can happen when the customer does not receive the product bought.
Only certain pay methods have chargebacks like credit card and SEPA Direct Debit. Once the customer initiates a chargeback we will create a chargeback object and notify you through our webhooks.
Customers are a representation of your customers. These are used to get better insight in your PayPro payments for instance when searching for a customer name in our dashboard.
Customers can be created directly through the API or are created by the system when a payment is paid and no existing customer is associated.
For recurring payments and subscriptions it is mandatory to create a customer. This allows us to manage mandates, subscriptions and payments on the customer level.
A customer does not require any customer information, but we recommend to atleast provide a name or email. This makes it easier to manage your customers and payments in the PayPro dashboard.
A Mandate symbolizes the permission the customer gave you to charge their payment method. This is used to setup recurring payments and subscriptions.
Mandates can be created directly for some payment types like "direct-debit" or require an authorization payment which is generally the first payment when setting up the recurring payments or subscription.
Subscriptions are the easiest way to setup and schedule recurring payments. You provide us the amounts and intervals and PayPro will manage the full life-cycle of the subscription.
After you created the subscription it will either be started immediately or at the start_date when a mandate was given. When pay_methods are given you need to redirect the customer to the checkout link in the links section.
Security
apiKey
Bodyapplication/json
customerstringrequired
ID of the customer that subscribes. Cannot be used together with a mandate.
Example: "CUW78XU8BYL8X6"
descriptionstringrequired
Description of the subscription. This will be shown to customers and in the PayPro dashboard
Example: "description"
mandatestring or null
Mandate that will be used for the subscription. Using this will start the subscription immediately. Cannot be used together with the pay_methods field.
currencystringrequired
The currency of the subscription. Only 'EUR' is supported
Example: "EUR"
start_atstring or null
Date when the subscription will start. When left empty, it will start at creation
Example: "2023-08-01"
cancel_atstring or null
Date at which the subscription will be canceled. When left empty, the subscription will be active until manually canceled
pay_methodsArray of strings or null
Pay methods that can be used to start the subscription. Using this creates the subscription with the authorization flow and will start the subscription when the first payment is paid. Use the checkout link in the links field to redirect the customer. Cannot be used together with a mandate.
The amount in cents that the customer will have to pay.
Example: 1000
period.​vatnumber or null
The vat included in the amount. Accepted values: from 0 till 30
Example: 21
period.​intervalstring
The interval of each period. Accepted values: day, week, month or year
period.​multiplierinteger
The multiplier of the interval between periods. Example: interval=month and mulitplier=3 will create a new period every 3 months.
Example: 1
first_periodobject or null
Settings for when the first period should be created and with what amount
metadataobject or null
You can put in random data that you like to save alongside the subscription. When you fetch the subscription this will be returned in the metadata field.
The Subscription period represents a period in a subscription. These are created by the system at the interval you specified or by yourself when using an "on-demand" subscription.
The payment created to charge the customer is associated with the subscription period as well as other payments that might happen if the first one fails or when a customer repays after a chargeback.
Installment plans can be used to periodically charge a customer by specifying the amount and interval. The amount and number of periods are fixed.
The main difference with a subscription is that an installment plan does not run indefinitely and the invoice is generated up front. Where with a subscription it can run indefinitely and an invoice is created for each period.
If you are unsure which to use we suggest to look at the Subscriptions first. Most use cases can be solved with subscriptions and installment plans should only be considered if a single invoice is required.
The Installment plan period represents a period in an installment plan. These are created by the system at the interval you specified.
The payment created to charge the customer are associated with the installment plan period as well as other payments that might happen if the first one fails or when a customer repays after a chargeback.
Events are generated by our system to notify about something that happened in your account. Events contain an event type like payment.paid or customer.updated and a payload with information about the object for which this event happened.
The event payload always contains the information about the resource at the moment the event was created. This means the information in the payload may be out-of-date. To avoid this you should retrieve the resource from the API again and use the information retrieved in the API request.
You can use these endpoints to retrieve events from your account. Our webhook system uses these events when sending notifications to your server.
Payouts are created when you receive funds from PayPro to one of your bank accounts. These can be created on a schedule, through the dashboard or by using the Payout create endpoint.
When creating a payout you must have sufficient balance in your PayPro account.
Top-ups are a way to top-up your PayPro balance. This can be done through our dashboard or by using the Top-up create endpoint.
The top-up has a unique ID which might be necessary to use when doing manual transfers. When the top-up is processed your PayPro balance will automatically be increased by the amount in the top-up.