{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["tabs","tab"]},"type":"markdown"},"seo":{"title":"Payouts","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"payouts","__idx":0},"children":["Payouts"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A payout withdraws funds from your PayPro balance to one of your registered bank accounts. When creating a payout, you must have a sufficient balance in your PayPro account. Payouts can be created in multiple ways:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Automatically, based on the schedule configured on the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://app.paypro.nl/rekening/opnemen/settings"},"children":["Withdrawal Settings page"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Through the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://app.paypro.nl/rekening/opnemen"},"children":["PayPro Dashboard"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["With the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/reference/api/payouts"},"children":["Payouts API"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["We will now discuss how to check your balance and create a Payout with our ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/reference/api/payouts"},"children":["Payouts API"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"checking-your-balance","__idx":1},"children":["Checking your balance"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Your account has a separate ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/reference/api/balances"},"children":["Balance"]}," per currency. Before creating a payout you can retrieve your balances to see how much is available to withdraw:"]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"PHP","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"php","header":{"controls":{"copy":{}}},"source":"$balances = $paypro->balances->list();\n","lang":"php"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Ruby","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"ruby","header":{"controls":{"copy":{}}},"source":"client = PayPro::Client.new('pp_...')\n\nbalances = client.balances.list\n","lang":"ruby"},"children":[]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each balance has an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}," and a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["currency"]},", so if you hold funds in multiple currencies you will get one balance object back per currency."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You don't have to check the balance yourself before creating a payout — if you request more than the withdrawable amount the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/reference/api/payouts/createpayout"},"children":["Payout create endpoint"]}," will reject the request. Your available balance for withdrawal may be less than your total balance. Depending on your account settings, PayPro may retain a minimum reserve to cover potential refunds and chargebacks."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"creating-a-payout","__idx":2},"children":["Creating a Payout"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A Payout is a resource in our API. Create one by calling the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/reference/api/payouts/createpayout"},"children":["Payout create endpoint"]}," with an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["currency"]},":"]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"PHP","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"php","header":{"controls":{"copy":{}}},"source":"$payout = $paypro->payouts->create(\n  [\n    'amount' => 10000,\n    'currency' => 'EUR'\n  ]\n);\n","lang":"php"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Ruby","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"ruby","header":{"controls":{"copy":{}}},"source":"payout = client.payouts.create(\n  amount: 10000,\n  currency: 'EUR'\n)\n","lang":"ruby"},"children":[]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["amount"]}," is withdrawn from the balance in the given ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["currency"]},". You can also supply ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["metadata"]}," to store your own data alongside the payout, which is returned when you fetch the payout again."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"payout-statuses","__idx":3},"children":["Payout statuses"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Payouts have their own status, independent of the balance transactions they create."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["These are the possible states:"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":5,"id":"open","__idx":4},"children":["open"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The payout is created and will be picked up by our system soon."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":5,"id":"pending","__idx":5},"children":["pending"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The payout is waiting to be approved."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":5,"id":"processing","__idx":6},"children":["processing"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The payout has been approved and is being sent to the bank account."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":5,"id":"paid","__idx":7},"children":["paid"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The payout has been paid out and the funds should have arrived at the bank account."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":5,"id":"failed","__idx":8},"children":["failed"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The payout could not be completed. The withdrawn funds are returned to your PayPro balance."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"listen-for-webhook-events","__idx":9},"children":["Listen for Webhook Events"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Payout processing is asynchronous, so a payout will not immediately reach its final state. To stay informed about status changes we recommend implementing our ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/reference/webhooks"},"children":["Webhooks"]},". You can subscribe to the following payout events:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payout.created"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payout.approved"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payout.rejected"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payout.paid"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payout.failed"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For more details on how to set up and manage webhooks, visit the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/reference/webhooks"},"children":["webhooks page"]},"."]}]},"headings":[{"value":"Payouts","id":"payouts","depth":1},{"value":"Checking your balance","id":"checking-your-balance","depth":2},{"value":"Creating a Payout","id":"creating-a-payout","depth":2},{"value":"Payout statuses","id":"payout-statuses","depth":2},{"value":"open","id":"open","depth":5},{"value":"pending","id":"pending","depth":5},{"value":"processing","id":"processing","depth":5},{"value":"paid","id":"paid","depth":5},{"value":"failed","id":"failed","depth":5},{"value":"Listen for Webhook Events","id":"listen-for-webhook-events","depth":2}],"frontmatter":{"seo":{"title":"Payouts"}},"lastModified":"2026-08-07T15:00:20.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/payouts","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}