JCPay· Payouts

Payouts

Move funds from your JCPay balance to an external destination. Supported destinations depend on the provider — bank transfer (future), GCash (future), and PayGram / Telegram for crypto vouchers.

Create a payout

curl -X POST https://jcpay.innoserver.cloud/v1/payouts \
  -H "Authorization: Bearer sk_live_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 500.00,
    "currency": "PHPT",
    "method": "paygram_phpt",
    "destination": { "telegram_id": "123456789" },
    "description": "Affiliate payout"
  }'

Balance check

The API blocks payouts that would drive your balance negative. Test-mode payouts succeed immediately via MockProvider. Live payouts go to the configured provider and emit a payout.succeeded (or payout.failed) webhook.

Ledger effect

A successful payout writes a debit row to the ledger. If the provider dispatch fails, we write an offsetting credit with kind adjustment to reverse the hold.