PaymentInstrument
A payment instrument: create, get or confirm one, or list its payins.
Operations
Every route this entity exposes. Each route links to its own reference on this page.
| Method | Route | SDK operation | Returns |
|---|---|---|---|
POST |
/profiles/{profileId}/payment-instruments/{paymentInstrumentId}/manual-confirmation |
create |
OK |
POST |
/profiles/{profileId}/payment-instruments |
create |
OK |
GET |
/profiles/{profileId}/payment-instruments/{paymentInstrumentId}/payins |
list |
OK |
GET |
/profiles/{profileId}/payment-instruments/{paymentInstrumentId} |
load |
OK |
Examples
One example per SDK, generated from the API model. The argument names are the parameters and fields of this entity, and the values are placeholders. The examples are not compiled or executed.
Golang
Construct client as shown in the Golang setup, then call the operations:
payment_instruments, err := client.PaymentInstrument(nil).List(map[string]any{"id": "example_id", "profile_id": 1}, nil)
if err != nil {
panic(err)
}
fmt.Println(payment_instruments)
payment_instrument, err := client.PaymentInstrument(nil).Load(map[string]any{"id": "example_id", "profile_id": 1}, nil)
if err != nil {
panic(err)
}
fmt.Println(payment_instrument)
created, err := client.PaymentInstrument(nil).Create(map[string]any{"profile_id": 1, "accountNumber": "example", "type": "example"}, nil)
if err != nil {
panic(err)
}
fmt.Println(created)
Lua
Construct client as shown in the Lua setup, then call the operations:
local payment_instruments, err = client:PaymentInstrument():list({ id = "example_id", profile_id = 1 })
local payment_instrument, err = client:PaymentInstrument():load({ id = "example_id", profile_id = 1 })
local created, err = client:PaymentInstrument():create({ profile_id = 1, accountNumber = "example", type = "example" })
PHP
Construct client as shown in the PHP setup, then call the operations:
$payment_instruments = $client->PaymentInstrument()->list(["id" => "example_id", "profile_id" => 1]);
$payment_instrument = $client->PaymentInstrument()->load(["id" => "example_id", "profile_id" => 1]);
$created = $client->PaymentInstrument()->create(["profile_id" => 1, "accountNumber" => "example", "type" => "example"]);
Python
Construct client as shown in the Python setup, then call the operations:
payment_instruments = client.PaymentInstrument().list({"id": "example_id", "profile_id": 1})
payment_instrument = client.PaymentInstrument().load({"id": "example_id", "profile_id": 1})
created = client.PaymentInstrument().create({ "profile_id": 1, "accountNumber": "example", "type": "example" })
Ruby
Construct client as shown in the Ruby setup, then call the operations:
payment_instruments = client.PaymentInstrument.list({ "id" => "example_id", "profile_id" => 1 })
payment_instrument = client.PaymentInstrument.load({ "id" => "example_id", "profile_id" => 1 })
created = client.PaymentInstrument.create({ "profile_id" => 1, "accountNumber" => "example", "type" => "example" })
TypeScript
Construct client as shown in the TypeScript setup, then call the operations:
const payment_instruments = await client.PaymentInstrument().list({ id: "example_id", profile_id: 1 })
const payment_instrument = await client.PaymentInstrument().load({ id: "example_id", profile_id: 1 })
const created = await client.PaymentInstrument().create({ profile_id: 1, accountNumber: "example", type: "example" })
Fields
| Field | Type | Required | Description |
|---|---|---|---|
accountHolderName |
string |
No | Account Holder Name |
accountNumber |
string |
No | Account Number |
accountOwnerDetails |
object |
No | Account Owner Details |
accountType |
string |
No | Account Type |
bankCode |
string |
No | Bank Code |
bankName |
string |
No | Bank Name |
branchCode |
string |
No | Branch Code |
disconnectReason |
string |
No | Disconnect Reason |
id |
string |
No | Id |
reference |
string |
No | Reference |
status |
string |
No | Status |
type |
string |
No | Type |
create
POST /profiles/{profileId}/payment-instruments/{paymentInstrumentId}/manual-confirmation
Operation ID: paymentInstrumentConfirm.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | |
paymentInstrumentId |
path |
string |
Yes | |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
200: OK
application/json
| Property | Type | Required | Description |
|---|---|---|---|
accountNumber |
string |
No | |
accountOwnerDetails |
object |
No | |
accountOwnerDetails.city |
string |
No | |
accountOwnerDetails.companyName |
string |
No | |
accountOwnerDetails.country |
string |
No | |
accountOwnerDetails.firstLine |
string |
No | |
accountOwnerDetails.postCode |
string |
No | |
accountOwnerDetails.state |
string |
No | |
bankCode |
string |
No | |
bankName |
string |
No | |
branchCode |
string |
No | |
disconnectReason |
string |
No | |
id |
string (uuid) |
No | |
reference |
string |
No | |
status |
string |
No | |
type |
string |
No |
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
POST /profiles/{profileId}/payment-instruments
Operation ID: paymentInstrumentsCreate.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Request body
application/json
| Property | Type | Required | Description |
|---|---|---|---|
accountHolderName |
string |
No | |
accountNumber |
string |
Yes | |
accountOwnerDetails |
object |
No | |
accountOwnerDetails.address |
object |
No | |
accountOwnerDetails.address.addressFirstLine |
string |
No | |
accountOwnerDetails.address.city |
string |
No | |
accountOwnerDetails.address.country |
string |
No | |
accountOwnerDetails.address.postCode |
string |
No | |
accountOwnerDetails.address.state |
string |
No | |
accountOwnerDetails.email |
string (email) |
No | |
accountType |
string |
No | |
bankCode |
string |
No | |
branchCode |
string |
No | |
reference |
string |
No | |
type |
string |
Yes |
Responses
200: OK
application/json
| Property | Type | Required | Description |
|---|---|---|---|
accountNumber |
string |
No | |
accountOwnerDetails |
object |
No | |
accountOwnerDetails.city |
string |
No | |
accountOwnerDetails.companyName |
string |
No | |
accountOwnerDetails.country |
string |
No | |
accountOwnerDetails.firstLine |
string |
No | |
accountOwnerDetails.postCode |
string |
No | |
accountOwnerDetails.state |
string |
No | |
bankCode |
string |
No | |
bankName |
string |
No | |
branchCode |
string |
No | |
disconnectReason |
string |
No | |
id |
string (uuid) |
No | |
reference |
string |
No | |
status |
string |
No | |
type |
string |
No |
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
list
GET /profiles/{profileId}/payment-instruments/{paymentInstrumentId}/payins
Operation ID: paymentInstrumentGetAllPayins.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | |
paymentInstrumentId |
path |
string |
Yes | |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
200: OK
application/json
| Property | Type | Required | Description |
|---|---|---|---|
payins |
array of object |
No | |
payins[].amount |
number |
No | |
payins[].currency |
string |
No | |
payins[].failureReason |
string |
No | |
payins[].id |
string |
No | |
payins[].payinSessionId |
string |
No | |
payins[].paymentInstrumentId |
string |
No | |
payins[].reference |
string |
No | |
payins[].status |
string |
No |
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.
load
GET /profiles/{profileId}/payment-instruments/{paymentInstrumentId}
Operation ID: paymentInstrumentsGet.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | |
paymentInstrumentId |
path |
string |
Yes | |
X-External-Correlation-Id |
header |
string (uuid) |
No | Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more. |
Responses
200: OK
application/json
| Property | Type | Required | Description |
|---|---|---|---|
accountNumber |
string |
No | |
accountOwnerDetails |
object |
No | |
accountOwnerDetails.city |
string |
No | |
accountOwnerDetails.companyName |
string |
No | |
accountOwnerDetails.country |
string |
No | |
accountOwnerDetails.firstLine |
string |
No | |
accountOwnerDetails.postCode |
string |
No | |
accountOwnerDetails.state |
string |
No | |
bankCode |
string |
No | |
bankName |
string |
No | |
branchCode |
string |
No | |
disconnectReason |
string |
No | |
id |
string (uuid) |
No | |
reference |
string |
No | |
status |
string |
No | |
type |
string |
No |
429: Rate limit exceeded. Retry after the number of seconds specified in the Retry-After header
application/json
The response is object.