Payments API Reference
Start payment flows and get payment URLs to redirect users to Waffy's secure payment interface. Supports multiple payment methods as configured per organization.
Overview
The Payments API allows you to initiate payment flows by generating secure payment URLs. Users are redirected to Waffy's payment interface where they can complete payments using the payment methods configured for your organization.
Cards, bank transfers, virtual IBANs, and digital wallets
Full PCI DSS compliance and end-to-end encryption
Instant payment confirmations and status updates through webhooks
Recommended: Use Payment SDK
For better integration experience and additional features, we recommend using our Payment SDK instead of the direct API calls.
View SDK DocumentationGETStart Payment
Generate a payment URL to redirect users to Waffy's payment interface
Endpoint
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| redirectUrl | string | false | URL to redirect user after payment completion |
| paymentType | string | false | Type of payment (AUTHORIZE_CAPTURE or PURCHASE) |
Example Request
Response (200 OK)
{
"status": 200,
"timestamp": "2026-01-20T18:32:12.563788",
"data": "https://app.waffyapp.com/external/domainId?client_id=%merchant_client_id%&redirect_url=https://example.com/success&paymentType=PURCHASE&payment_methods=MANUAL_BANK_TRANSFER,MOYASAR,TABBY,APPLE_PAY"
}Common Errors
404 Not Found - Contract Not Found
{
"status": 404,
"timestamp": "2026-01-20T18:52:22.831103",
"error": {
"status": "NOT_FOUND",
"message": "Contract was not found for parameters {id={{milestone_contract_id}}}"
}
}400 Bad Request - Payment Not Allowed
{
"status": 400,
"timestamp": "2026-01-20T18:53:53.015276",
"error": {
"status": "BAD_REQUEST",
"message": "Payment not allowed on contract with id {{milestone_contract_id}} because it is in an un-payable status RESOLVED_REFUND_CUSTOMER.."
}
}Payment Flow
How to integrate the payment URL into your application
Payment Statuses
Understanding the payment lifecycle
Supported Countries & Currencies
Card Payments
Bank Transfers
Payment Integration Guide
Learn how to integrate payments into your application
Test Cards & Scenarios
Use test card numbers for development and testing