Create a transfer (deprecated alias)
**Deprecated** — use `/v1/api/payment` instead. This path is kept for SDK back-compat and will be removed in a future major release. Both paths share the same handlers; only the URL differs. Charge a customer's payment instrument. Body mirrors Finix's POST /transfers payload. The merchant defaults to the API-key/JWT context but can be overridden for sub-merchant routing.
Authorization
apiKey Merchant API key. Publishable keys (pk_test_* / pk_live_) are safe for browser/frontend use and carry a limited scope set (sessions, payment_instruments, customers, orders writes; products, product_prices, payment_links reads). Secret keys (sk_test_ / sk_live_*) grant full admin access and must only be used server-side.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://loading/v1/api/transfer/" \ -H "Content-Type: application/json" \ -d '{ "amount": 5000, "currency": "USD", "source": "PIxxxxxxxxxxxxxxxxxx", "tags": { "order_id": "ord_abc123" } }'{
"success": true,
"timestamp": "2026-02-06T12:00:00.000Z",
"message": "Payment created",
"data": {
"id": "TRxxxxxxxxxxxxxxxxxx",
"amount": 5000,
"currency": "USD",
"state": "PENDING",
"identity_id": "IDxxxxxxxxxxxxxxxxxx",
"payment_instrument_id": "PIxxxxxxxxxxxxxxxxxx",
"tags": {},
"created_at": "2026-02-06T12:00:00.000Z"
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}{
"success": false,
"timestamp": "2019-08-24T14:15:22Z",
"error": {
"code": "string",
"message": "string",
"details": null
}
}Create a refund (deprecated alias)
**Deprecated** — use `/v1/api/payment` instead. This path is kept for SDK back-compat and will be removed in a future major release. Both paths share the same handlers; only the URL differs. Create a reversal (refund) for a succeeded payment.
Get a transfer by ID (deprecated alias)
**Deprecated** — use `/v1/api/payment` instead. This path is kept for SDK back-compat and will be removed in a future major release. Both paths share the same handlers; only the URL differs. Retrieve a payment by its ID. `expand` accepts comma-separated keys: merchant, merchant_identity, instrument, parent. `scope=company` widens scoping from the auth context's primary merchant to all the company's merchants.