# PayPro API Reference

Version: v1

## Servers

```
https://api.paypro.nl
```

## Security

### apiKey

Type: http
Scheme: bearer
Bearer Format: API key

## Download OpenAPI description

 - [PayPro API Reference](https://docs.paypro.nl/_bundle/reference/api.yaml)

## Payments

 - [GET /payments/{id}](https://docs.paypro.nl/reference/api/payments/retrievepayment.md): Retrieves a single payment based on the id.
 - [DELETE /payments/{id}](https://docs.paypro.nl/reference/api/payments/cancelpayment.md): Cancels a payment. It is possible to cancel payment only in open or initialiazed state.
 - [GET /payments](https://docs.paypro.nl/reference/api/payments/retrievelistofpayments.md): Retrieve a list of payments that have been created for your account. The payments are sorted, with the most recent first.
 - [POST /payments](https://docs.paypro.nl/reference/api/payments/createpayment.md): Creates a Payment object. After you have created a Payment you can use the `_links.checkout` link to redirect your customer.
 - [GET /payments/{id}/chargebacks](https://docs.paypro.nl/reference/api/payments/retrievelistofchargebacksbypayment.md): Retrieves a list of chargebacks that belong to this payment.
 - [GET /payments/{id}/refunds](https://docs.paypro.nl/reference/api/payments/retrievelistofrefundsbypayment.md): Retrieves a list of refunds that belong to this payment.
 - [POST /payments/{id}/refunds](https://docs.paypro.nl/reference/api/payments/createrefundforpayment.md): Creates a Refund object for this Payment. Creating a refund will refund a certain amount back to the customer. This amount will be deducted from your balance. You can choose to only refund a part of
## Refunds

 - [GET /refunds/{id}](https://docs.paypro.nl/reference/api/refunds/retrieverefund.md): Retrieves a single refund based on the id.
 - [DELETE /refunds/{id}](https://docs.paypro.nl/reference/api/refunds/cancelrefund.md): Cancels a refund. It is possible to cancel refund only in open, pending or processing state.
 - [GET /refunds](https://docs.paypro.nl/reference/api/refunds/retrievelistofrefunds.md): Retrieve a list of refunds that have been created for your account. The refunds are sorted, with the most recent first
## Chargebacks

 - [GET /chargebacks/{id}](https://docs.paypro.nl/reference/api/chargebacks/retrievechargeback.md): Retrieves a single chargeback based on the id.
 - [GET /chargebacks](https://docs.paypro.nl/reference/api/chargebacks/retrievelistofchargebacks.md): Retrieve a list of chargebacks that have been created for your account. The chargebacks are sorted, with the most recent first
## Pay methods

 - [GET /pay_methods](https://docs.paypro.nl/reference/api/pay-methods/retrievelistofpaymethods.md): Retrieve a list of pay methods.
## Customers

 - [GET /customers/{id}](https://docs.paypro.nl/reference/api/customers/retrievecustomer.md): Retrieves a single customer based on the id.
 - [PATCH /customers/{id}](https://docs.paypro.nl/reference/api/customers/updatecustomer.md): Updates a Customer object. Returns the updated Customer.
 - [GET /customers](https://docs.paypro.nl/reference/api/customers/retrievelistofcustomers.md): Retrieve a list of customers that have been created for your account. The customers are sorted, with the most recent first.
 - [POST /customers](https://docs.paypro.nl/reference/api/customers/createcustomer.md): Creates a Customer object.
 - [GET /customers/{id}/subscriptions](https://docs.paypro.nl/reference/api/customers/retrievelistofsubscriptionsbycustomer.md): Retrieves a list of subscriptions that belong to this customer.
 - [GET /customers/{id}/mandates](https://docs.paypro.nl/reference/api/customers/retrievelistofmandatesbycustomer.md): Retrieves a list of mandates that belong to this customer.
## Mandates

 - [GET /mandates/{id}](https://docs.paypro.nl/reference/api/mandates/retrievemandate.md): Retrieves a single mandate based on the id.
 - [GET /mandates](https://docs.paypro.nl/reference/api/mandates/retrievelistofmandates.md): Retrieve a list of mandates that have been created for your account. The mandates are sorted, with the most recent first.
 - [POST /mandates](https://docs.paypro.nl/reference/api/mandates/createmandate.md): Creates a Mandate object. You can only create a mandate manually for 'direct-debit'. The other supported pay methods require authorization through a Payment.
## Subscriptions

 - [GET /subscriptions/{id}](https://docs.paypro.nl/reference/api/subscriptions/retrievesubscription.md): Retrieves a single subscription based on the id.
 - [PATCH /subscriptions/{id}](https://docs.paypro.nl/reference/api/subscriptions/updatesubscription.md): Updates a Subscription object. Returns the updated Subscription
 - [DELETE /subscriptions/{id}](https://docs.paypro.nl/reference/api/subscriptions/cancelsubscription.md): Cancels a subscription. A canceled subscription will no longer create new subscription periods. It is not possible to resume a canceled subscription.
 - [GET /subscriptions](https://docs.paypro.nl/reference/api/subscriptions/retrievelistofsubscriptions.md): Retrieve a list of subscriptions that have been created for your account. The subscriptions are sorted, with the most recent first.
 - [POST /subscriptions](https://docs.paypro.nl/reference/api/subscriptions/createsubscription.md): Creates a Subscription object. 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 t
 - [POST /subscriptions/{id}/pause](https://docs.paypro.nl/reference/api/subscriptions/pausesubscription.md): Pauses a subscription. A paused subscription will no longer create new subscription periods. You can resume the subscription by calling the /subscriptions/:id/resume endpoint.
 - [POST /subscriptions/{id}/resume](https://docs.paypro.nl/reference/api/subscriptions/resumesubscription.md): Resumes a paused subscription. The paused subscription will return to the active state and will resume creating new subscription periods. It is not possible to resume a canceled subscription.
 - [GET /subscriptions/{id}/subscription_periods](https://docs.paypro.nl/reference/api/subscriptions/retrievelistofsubscriptionperiodsbysubscription.md): Retrieves a list of subscription periods that belong to this subscription.
 - [POST /subscriptions/{id}/subscription_periods](https://docs.paypro.nl/reference/api/subscriptions/createsubscriptionperiod.md): Create a next period for this subscription
## Subscription periods

 - [GET /subscription_periods/{id}](https://docs.paypro.nl/reference/api/subscription-periods/retrievesubscriptionperiod.md): Retrieves a single subscription period based on the id.
 - [GET /subscription_periods/{id}/payments](https://docs.paypro.nl/reference/api/subscription-periods/retrievelistofpaymentsbysubscriptionperiod.md): Retrieves a list of payments that belong to this subscription period.
## Installment plans

 - [GET /installment_plans](https://docs.paypro.nl/reference/api/installment-plans/retrievelistofinstallmentplans.md): Retrieve a list of installment plans that have been created for your account. The installment plans are sorted, with the most recent first.
 - [POST /installment_plans](https://docs.paypro.nl/reference/api/installment-plans/createinstallmentplan.md): Creates a Installment plan object. After you have created a Installment plan, it will start immediately when mandate is given. When pay_methods are given you need to redirect the customer to the check
 - [GET /installment_plans/{id}](https://docs.paypro.nl/reference/api/installment-plans/retrieveinstallmentplan.md): Retrieves a single installment plan based on the id.
 - [PATCH /installment_plans/{id}](https://docs.paypro.nl/reference/api/installment-plans/updateinstallmentplan.md): Updates an Installment plan object. Returns the updated Installment plan
 - [DELETE /installment_plans/{id}](https://docs.paypro.nl/reference/api/installment-plans/cancelinstallmentplan.md): Cancels a installment plan. A canceled installment plan will no longer create new installment plan periods. It is not possible to resume a canceled installment plan.
 - [GET /installment_plans/{id}/installment_plan_periods](https://docs.paypro.nl/reference/api/installment-plans/retrievelistofinstallmentplanperiodsbyinstallmentplan.md): Retrieves a list of installment plan periods that belong to this installment plan.
 - [POST /installment_plans/{id}/pause](https://docs.paypro.nl/reference/api/installment-plans/pauseinstallmentplan.md): Pauses a installment plan. A paused installment plan will no longer create new installment plan periods. You can resume the installment plan by calling the /installment_plans/:id/resume endpoint.
 - [POST /installment_plans/{id}/resume](https://docs.paypro.nl/reference/api/installment-plans/resumeinstallmentplan.md): Resumes a paused installment plan. The paused installment plan will return to the active state and will resume creating new installment plan periods. It is not possible to resume a canceled installme
## Installment plan periods

 - [GET /installment_plan_periods/{id}](https://docs.paypro.nl/reference/api/installment-plan-periods/retrieveinstallmentplanperiod.md): Retrieves a single installment plan period based on the id.
 - [GET /installment_plan_periods/{id}/payments](https://docs.paypro.nl/reference/api/installment-plan-periods/retrievelistofpaymentsbyinstallmentplanperiod.md): Retrieves a list of payments that belong to this installment plan period.
## Events

 - [GET /events/{id}](https://docs.paypro.nl/reference/api/events/retrieveevent.md): Retrieves a single event based on the id.
 - [GET /events](https://docs.paypro.nl/reference/api/events/retrievelistofevents.md): Retrieve a list of events that have been created for your account. The events are sorted, with the most recent first
## Webhooks

 - [GET /webhooks/{id}](https://docs.paypro.nl/reference/api/webhooks/retrievewebhook.md): Retrieves a single webhook based on the id.
 - [PATCH /webhooks/{id}](https://docs.paypro.nl/reference/api/webhooks/updatewebhook.md): Updates a Webhook object. Returns the updated Webhook
 - [DELETE /webhooks/{id}](https://docs.paypro.nl/reference/api/webhooks/deletewebhook.md): Deletes a webhook. A deleted webhook will no longer send events to the endpoint.
 - [GET /webhooks](https://docs.paypro.nl/reference/api/webhooks/retrievelistofwebhooks.md): Retrieve a list of webhooks that have been created for your account. The webhooks are sorted, with the most recent first.
 - [POST /webhooks](https://docs.paypro.nl/reference/api/webhooks/createwebhook.md): Creates a Webhook object. A webhook needs to have a `name`, `description` and a `url`. By default the Webhook will be active and subscribed to all event types. You can add the parameter `active` to `f
## Balances

 - [GET /balances/{balance_id}/transactions](https://docs.paypro.nl/reference/api/balances/retrievelistofbalancetransactions.md): Retrieves a list of balance transactions for the given balance.
 - [GET /balances/{id}](https://docs.paypro.nl/reference/api/balances/retrievebalance.md): Retrieves a single balance based on the id.
 - [GET /balances](https://docs.paypro.nl/reference/api/balances/retrievelistofbalances.md): Retrieve a list of balances that are available for your PayPro account.
## Currency conversions

 - [GET /currency_conversions/{id}](https://docs.paypro.nl/reference/api/currency-conversions/retrievecurrencyconversion.md): Retrieves a single currency conversion based on the id.
 - [GET /currency_conversions](https://docs.paypro.nl/reference/api/currency-conversions/retrievelistofcurrencyconversions.md): Retrieve a list of currency conversions that have been created for your account. The currency conversions are sorted, with the most recent first.
 - [GET /currency_conversions/{id}/payments](https://docs.paypro.nl/reference/api/currency-conversions/retrievelistofpaymentsbycurrencyconversion.md): Retrieves a list of payments that belong to this currency conversion.
 - [GET /currency_conversions/{id}/transactions](https://docs.paypro.nl/reference/api/currency-conversions/retrievelistoftransactionsbycurrencyconversion.md): Retrieves a list of balance transactions that belong to this currency conversion.
## Payouts

 - [GET /payouts/{id}](https://docs.paypro.nl/reference/api/payouts/retrievepayout.md): Retrieves a single payout based on the id.
 - [GET /payouts](https://docs.paypro.nl/reference/api/payouts/retrievelistofpayouts.md): Retrieve a list of payouts that have been created for your account. The payouts are sorted, with the most recent first.
 - [POST /payouts](https://docs.paypro.nl/reference/api/payouts/createpayout.md): Creates a Payout object.
## Top-ups

 - [GET /top_ups/{id}](https://docs.paypro.nl/reference/api/top-ups/retrievetopup.md): Retrieves a single top-up based on the id.
 - [GET /top_ups](https://docs.paypro.nl/reference/api/top-ups/retrievelistoftopups.md): Retrieve a list of top-ups that have been created for your account. The top-ups are sorted, with the most recent first.
 - [POST /top_ups](https://docs.paypro.nl/reference/api/top-ups/createtopup.md): Creates a Top-up object. After you have created a Top-up you can use the `_links.checkout` link to redirect to the pay page.
