Create Payment
Create new Payment (off-session) for an existing payment_method_id.
To iniitate an off-session payment, a user (sender) must have autopay_consent = true (set via the Payment Link flow or Mandate setup flow), and a valid payment method (Mandate or Card).
To initiate an on-session payment for a user (sender) with a stored payment method but autopay_consent = false, use POST /payment_links instead (passing the user’s external_user_id).
Authorization: customer_token
Request headers
payment_details (object, required)
Details describing the payment.
Response fields
The response is a Payment object.
Refer to Payment object data model in GET /payments/{payment_id}.
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Headers
A random key provided by the customer, per unique payment. The purpose for the Idempotency key is to allow safe retrying without the operation being performed multiple times.
Body
request body for creating payment
Amount of the payment (in minor currency unit)
100
Currency of the payment (e.g. HKD)
3"HKD"
Details on the payment
Customer-supplied attributes in key:value format. E.g. employer_name: Apple Inc
Finverse payment_method_id. Required unless mandate_id is provided in payment_details.
Response
Successful
Amount of the payment (in minor currency unit)
100
Total amount of the payment including any transaction fee surcharge_amount paid by the sender (in minor currency unit). See surcharge_amount on transaction fee surcharges.
100
Transaction fee surcharge_amount paid by the sender, if any surcharge has been configured (in minor currency unit). Transaction fee surcharges are off by default, but can be set for specific payment methods, or for custom scenarios (e.g. based on transaction amount, payment flow, etc). Contact [email protected] to configure surcharges.
100
Timestamp when the payment was first created
Currency of the payment (e.g. HKD)
"HKD"
Details on why the payment failed (returned when status = FAILED). Note: this is used to detail any asynchronous e errors occuring after payment creation; any synchronous errors (e.g. API validation errors, real-time payment errors) will instead be returned directly during POST /payments.
Details on the fee(s) to be charged
Customer-supplied attributes in key:value format. E.g. employer_name: Apple Inc
Details on the payment
Finverse Payment ID for this payment. Always unique. Creating a payment with different idempotency keys will result in two payments with different IDs.
Details on the payment method
(TO BE DEPRECATED) Finverse unique ID for the payment method
Details on the recipient of the payment
Details on the recipient's account for the payment (i.e. the Customer App's settlement account at Finverse)
Details on the sender of the payment
(IN DEVELOPMENT) Details on the Sender's source institution and account, which is funding the payment
Current status of the payment. Possible values: CREATED, AUTHORIZATION_REQUIRED, PROCESSING, SUBMITTED, EXECUTED, CANCELLED, FAILED
AUTHORIZATION_REQUIRED, AUTHORIZING, PROCESSING, SUBMITTED, EXECUTED, FAILED, REVOKED, CANCELLED, CREATED Specified payment type. Possible values: - CARD: payment via card gateway (e.g. Stripe) - MANDATE: direct debit bank payment - MANUAL: manual bank transfer (e.g. FPS, PayNow) - SINGLE: not used (reserved for future use)
MANDATE, SINGLE, CARD, MANUAL, WALLET Timestamp of the last update to the payment's record