openapi: 3.0.3
info:
title: Fazz API (Singapore v4) Disbursements Payments API
description: Fazz Business Payments API for accepting payments (Accept API) and sending payouts (Send API) in Singapore. Fazz is the Southeast Asian fintech formed from the 2021 merger of Indonesia's Payfazz and Singapore's Xfers; the payment infrastructure is still served from the xfers.io hosts. This document was modeled from the public developer reference at https://docs.fazz.com/ — no first-party OpenAPI file is published by Fazz.
version: v4
contact:
name: Fazz Business Support
url: https://support-sg.fazz.com/
termsOfService: https://fazz.com/
servers:
- url: https://www.xfers.io/api/v4
description: Production (Singapore)
- url: https://sandbox.xfers.io/api/v4
description: Sandbox
security:
- basicAuth: []
tags:
- name: Payments
description: Accept API — create and query payments (collections).
paths:
/payments:
post:
operationId: createPayment
tags:
- Payments
summary: Create a payment
description: Creates a payment to collect funds from a customer via a supported local payment method (PayNow QR or virtual bank account). Returns payment instructions such as a PayNow QR image or virtual account number.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePaymentRequest'
responses:
'201':
description: Payment created
content:
application/json:
schema:
$ref: '#/components/schemas/Payment'
get:
operationId: listPayments
tags:
- Payments
summary: Get a list of payments
parameters:
- name: limit
in: query
schema:
type: integer
- name: startingAfter
in: query
schema:
type: string
- name: endingBefore
in: query
schema:
type: string
responses:
'200':
description: A list of payments
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Payment'
/payments/{paymentId}:
get:
operationId: getPayment
tags:
- Payments
summary: Get a payment
parameters:
- name: paymentId
in: path
required: true
schema:
type: string
responses:
'200':
description: Payment detail
content:
application/json:
schema:
$ref: '#/components/schemas/Payment'
components:
schemas:
Payment:
type: object
properties:
id:
type: string
status:
type: string
amount:
type: number
format: float
currency:
type: string
referenceId:
type: string
createdAt:
type: string
format: date-time
expiredAt:
type: string
format: date-time
fees:
type: number
format: float
paymentMethod:
$ref: '#/components/schemas/PaymentMethod'
instructions:
type: object
description: Method-specific instructions — e.g. a PayNow QR image payload or virtual account number and destination bank.
CreatePaymentRequest:
type: object
required:
- amount
- referenceId
- paymentMethodType
- paymentMethodOptions
- expiredAt
properties:
amount:
type: number
format: float
description: Transaction amount, up to 2 decimal places.
currency:
type: string
default: SGD
description: Currently only SGD is supported for the Singapore API.
referenceId:
type: string
description: Unique merchant-supplied identifier for the transaction.
paymentMethodType:
type: string
enum:
- paynow
- virtual_bank_account
description: paynow (PayNow QR — Singapore's UEN-based instant transfer scheme) or virtual_bank_account (unique VA number).
paymentMethodOptions:
type: object
description: Provider-specific options. Currently only `fazz` is supported.
expiredAt:
type: string
format: date-time
description: ISO 8601 expiry; valid range is 1 hour to 30 days.
description:
type: string
PaymentMethod:
type: object
properties:
id:
type: string
type:
type: string
enum:
- paynow
- virtual_bank_account
referenceId:
type: string
instructions:
type: object
securitySchemes:
basicAuth:
type: http
scheme: basic
description: HTTP Basic authentication. Provide your API key as the Basic auth username and your secret key as the password (base64(api_key:secret_key)). Live keys start with `live_`; sandbox keys start with `test_`.