Payment Providers
Complete reference for supported payment providers and their configurations
Payment Providers Reference
All payment providers supported by the Rahal booking system.
Provider Values
| Provider | Code | Description |
|---|---|---|
| Super Qi App | SUPER_QI_APP | Mobile wallet (Iraq) |
| Checkout.com | CHECKOUT_COM | Card payments |
| Buy Now Pay Later | BNPL | Installment payments |
| Sandbox | SANDBOX | Testing only |
| Corporate Direct | CORPORATE_DIRECT | Company billing |
| QI Services App | QI_SERVICES_APP | Legacy mobile wallet |
Provider Details
SUPER_QI_APP
Primary consumer payment method for the Iraqi market.
| Property | Value |
|---|---|
| Code | SUPER_QI_APP |
| Type | Mobile wallet |
| Region | Iraq |
| Verification | API callback |
| Fees | None to user |
Payment Flow:
- Redirect to Super Qi app
- User approves in wallet
- Webhook confirms payment
- Order processing continues
Order Fields:
{
"provider": "SUPER_QI_APP",
"paymentId": "superqi_payment_123"
}CHECKOUT_COM
International card payment processing.
| Property | Value |
|---|---|
| Code | CHECKOUT_COM |
| Type | Card payment |
| Networks | Visa, Mastercard, etc. |
| Security | 3D Secure |
| Verification | Webhook |
Payment Flow:
- Hosted payment form
- Card details entered
- 3DS if required
- Webhook confirms payment
Order Fields:
{
"provider": "CHECKOUT_COM",
"paymentId": "checkout_pay_abc123"
}BNPL
Buy Now, Pay Later installment payments.
| Property | Value |
|---|---|
| Code | BNPL |
| Type | Installments |
| Fee | Percentage of amount |
| Verification | Provider callback |
Payment Flow:
- Eligibility check
- Installment plan selection
- First payment processed
- Remaining installments scheduled
Order Fields:
{
"provider": "BNPL",
"paymentId": "bnpl_payment_123",
"bnplFeeAmount": 50000,
"bnplFeePercentage": 5
}Transaction Fields:
{
"instalmentId": "inst_abc123",
"isPaid": false
}BNPL transactions show isPaid: false until all installments are confirmed. This affects reporting and reconciliation.
SANDBOX
Test payment provider for development.
| Property | Value |
|---|---|
| Code | SANDBOX |
| Type | Test/mock |
| Verification | Always success |
| Availability | Dev/staging only |
Payment Flow:
- Order created
- Payment automatically verified
- Processing continues normally
Order Fields:
{
"provider": "SANDBOX",
"paymentId": "order_id" // Same as order ID
}SANDBOX should NEVER be available in production. It bypasses all payment verification.
CORPORATE_DIRECT
Company billing for corporate travel.
| Property | Value |
|---|---|
| Code | CORPORATE_DIRECT |
| Type | Company billing |
| Payment | None (invoiced) |
| Policy | Integrated |
| Budget | Integrated |
Payment Flow:
- Policy evaluation
- Budget evaluation
- Order created (no payment)
- Budget reserved
- Reservations created
- Budget confirmed
Order Fields:
{
"provider": "CORPORATE_DIRECT",
"paymentId": "order_id", // Same as order ID
"companyId": "company_abc",
"policyId": "policy_xyz"
}QI_SERVICES_APP
Legacy mobile wallet provider.
| Property | Value |
|---|---|
| Code | QI_SERVICES_APP |
| Type | Mobile wallet (legacy) |
| Status | Deprecated |
Note: This provider is retained for historical orders. New bookings should use SUPER_QI_APP.
Provider Comparison
| Feature | SUPER_QI | CHECKOUT | BNPL | SANDBOX | CORP_DIRECT |
|---|---|---|---|---|---|
| Real payment | Yes | Yes | Yes | No | No |
| Instant | Yes | Yes | First only | Yes | Yes |
| Fees to user | No | No | Yes | No | No |
| Card required | No | Yes | No | No | No |
| Policy check | No | No | No | No | Yes |
| Budget track | No | No | No | No | Yes |
Provider Selection
Providers are available based on context:
| Context | Available Providers |
|---|---|
| Consumer App (Iraq) | SUPER_QI_APP, BNPL |
| Consumer Web | SUPER_QI_APP, CHECKOUT_COM |
| Corporate App | CORPORATE_DIRECT |
| Development | SANDBOX, all others |
Filtering by Provider
In the dashboard:
- Go to Orders
- Select provider from dropdown filter
- List shows only orders for that provider
API query:
GET /admin/orders?provider=SUPER_QI_APP
GET /admin/orders?provider=CORPORATE_DIRECTProvider-Specific Fields
Standard Fields (all providers)
| Field | Description |
|---|---|
provider | Provider code |
paymentId | External payment reference |
paymentAmount | Total amount |
BNPL-Specific Fields
| Field | Description |
|---|---|
bnplFeeAmount | Fee amount in sub-units |
bnplFeePercentage | Fee percentage |
Corporate-Specific Fields
| Field | Description |
|---|---|
companyId | Company reference |
policyId | Applied policy reference |
Error Handling by Provider
| Provider | Common Errors | Resolution |
|---|---|---|
| SUPER_QI_APP | Insufficient balance | User adds funds |
| CHECKOUT_COM | Card declined, 3DS failed | User retries |
| BNPL | Not eligible | Use different payment |
| CORPORATE_DIRECT | Policy/budget block | Request approval or modify booking |