Payload Developer Documentation

Embedded finance for modern platforms & businesses


Payload provides a unified API for accepting payments, managing billing, and orchestrating financial workflows. Build payment experiences that scale from startup to enterprise with a platform designed for developers who need flexibility, control, and reliability.

import payload
pl = payload.Session('secret_key_3bW9...', api_version='v2')
 
# Process a payment with saved payment method
payment = pl.Transaction.create({
    'type': 'payment',
    'amount': 99.99,
    'sender': {
        'account_id': 'acct_customer_abc123',
        'method_id': 'pm_card_xyz789'
    },
    'receiver': {
        'account_id': 'acct_merchant_xyz789'
    }
})
 
print(payment.status)  # 'processed'
<!DOCTYPE html>
<html>
<head>
  <script src="https://payload.com/Payload.js"></script>
</head>
<body>
  <button id="checkout-button">Pay $49.99</button>
 
  <script src="checkout-embed.js"></script>
</body>
</html>
document.getElementById('checkout-button').addEventListener('click', async () => {
  const data = await fetch('/checkout_intent').then((r) => r.json())
  Payload(data.token)
  new Payload.Checkout()
    .on('success', (evt) => {
      console.log('Payment successful:', evt.transaction_id)
    })
    .on('declined', (evt) => {
      console.error('Payment declined:', evt.transaction_id)
    })
})
import payload
 
pl = payload.Session('secret_key_3bW9...', api_version='v2')
 
# Send an instant payout
payout = pl.Transaction.create(
    {
        'type': 'payout',
        'amount': 250.0,
        'sender': {'account_id': 'acct_processing_xyz789'},
        'receiver': {
            'account_id': 'acct_vendor_abc123',
            'method_id': 'pm_bank_xyz789',
        },
        'clearing_timing': 'instant',
    }
)
import payload
 
pl = payload.Session('secret_key_3bW9...', api_version='v2')
 
# Subscribe to transaction events
webhook = pl.Webhook.create(
    trigger='processed',
    url='https://api.example.com/webhooks/handler',
)

Pay

Process inbound & outbound payments through any channel


Explore payloads inbound & outbound APIs, hosted pages, or embedded forms. Receive inbound payments via cards, pay by bank, google pay, apple pay, digital wire and send outbound funds securely & instantly with full control over the payment lifecycle.

Explore Payment Processing →

Bill

Automate invoice generation and recurring billing


Create one-time invoices or set up billing schedules for subscriptions, contracts, and periodic charges. Enable autopay for hands-free payment collection.

Explore Invoicing & Billing →

Orchestrate

Manage accounts, compliance, and event-driven workflows


Create and manage customer accounts, configure webhooks for real-time notifications, and set up funding strategies for your platform.

Explore Account Management →

Reconcile

Track transactions, reconcile payments, and generate reports


Monitor transaction flows, match bank deposits, and build custom reports for financial reconciliation and analytics.

Explore Reporting →

Getting Started

Choose your integration path based on what you want to build:

Accept Payments Start with the Payment API to process transactions programmatically, or use hosted checkout for a no-code payment page.

Automate Billing Create one-time invoices or set up billing schedules for recurring subscription charges.

Manage Accounts Create customer accounts to store payment methods and enable autopay for recurring payments.

Build Event-Driven Workflows Configure webhooks to receive real-time notifications for payment events, invoice updates, and account changes.


API Reference & Support

The API Reference includes complete documentation for all Payload resources with request/response schemas, authentication guides, and code examples in multiple languages. Every endpoint includes working code samples you can copy and customize for your integration.