Payin
A payin.
Operations
Every route this entity exposes. Each route links to its own reference on this page.
| Method | Route | SDK operation | Returns |
|---|---|---|---|
POST |
/profiles/{profileId}/payin-sessions/{payinSessionId}/paynow |
create |
PayNow payment object |
POST |
/profiles/{profileId}/payment-instruments/{paymentInstrumentId}/payins |
create |
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:
created, err := client.Payin(nil).Create(map[string]any{"payin_session_id": "example", "profile_id": 1, "payinSessionId": "example"}, nil)
if err != nil {
panic(err)
}
fmt.Println(created)
Lua
Construct client as shown in the Lua setup, then call the operations:
local created, err = client:Payin():create({ payin_session_id = "example", profile_id = 1, payinSessionId = "example" })
PHP
Construct client as shown in the PHP setup, then call the operations:
$created = $client->Payin()->create(["payin_session_id" => "example", "profile_id" => 1, "payinSessionId" => "example"]);
Python
Construct client as shown in the Python setup, then call the operations:
created = client.Payin().create({ "payin_session_id": "example", "profile_id": 1, "payinSessionId": "example" })
Ruby
Construct client as shown in the Ruby setup, then call the operations:
created = client.Payin.create({ "payin_session_id" => "example", "profile_id" => 1, "payinSessionId" => "example" })
TypeScript
Construct client as shown in the TypeScript setup, then call the operations:
const created = await client.Payin().create({ payin_session_id: "example", profile_id: 1, payinSessionId: "example" })
Fields
| Field | Type | Required | Description |
|---|---|---|---|
amount |
number |
No | Amount |
currency |
string |
No | Currency |
details |
object |
No | Manual input details that can be used by the end user to make the transfer without scanning the QR image. |
failureReason |
string |
No | Failure Reason |
id |
string |
No | Id |
payinSessionId |
string |
No | Payin Session Id |
paymentInstrumentId |
string |
No | Payment Instrument Id |
qrCodeInBase64 |
string |
No | An encoded QR image in base64 format, which can be decoded and displayed directly to the end user. |
reference |
string |
No | Reference |
status |
string |
No | Status |
create
POST /profiles/{profileId}/payin-sessions/{payinSessionId}/paynow
Operation ID: paynowCreate.
Authentication: bearer token (UserToken).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
profileId |
path |
integer (int64) |
Yes | Profile ID of the profile that created the transfer. |
payinSessionId |
path |
string (string) |
Yes | Payin Session ID retrieved from Transfer object. |
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: PayNow payment object
application/json
| Property | Type | Required | Description |
|---|---|---|---|
details |
object |
No | Manual input details that can be used by the end user to make the transfer without scanning the QR image. |
details.amount |
number |
No | Transfer amount. |
details.currency |
string |
No | Currency. |
details.entityName |
string |
No | Entity name of the Wise Account to make the PayNow transfer to. |
details.reference |
string |
No | Payment reference used for linking the PayNow transaction to the transfer created by the profile. |
details.virtualPaymentAddress |
string |
No | Virtual payment address to pay to. |
qrCodeInBase64 |
string |
No | An encoded QR image in base64 format, which can be decoded and displayed directly to the end user. |
400: Invalid request
application/json
| Property | Type | Required | Description |
|---|---|---|---|
errors |
array of object |
No | A list of specific validation failures. |
errors[].code |
string |
No | A specific code for the validation failure type. |
errors[].detail |
string |
No | A detailed description of the validation failure. |
errors[].ref |
string |
No | A reference to the field that failed validation. |
instance |
string |
No | The uri the triggered a validation error |
status |
string |
No | Bad Format Validation Error |
title |
string |
No | Validation Error |
type |
string (uri-reference) |
No | Must be /errors/types/validation for this error type. |
422: Unprocessable request
application/json
| Property | Type | Required | Description |
|---|---|---|---|
code |
string |
No | Error code of the request |
instance |
string |
No | The uri that triggered the error |
status |
string |
No | Unprocessable Entity Domain Error |
title |
string |
No | Unprocessable Entity |
type |
string (uri-reference) |
No | Must be /errors/types/domain for this error type. |
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/{paymentInstrumentId}/payins
Operation ID: paymentInstrumentCreatePayin.
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. |
Request body
application/json
| Property | Type | Required | Description |
|---|---|---|---|
payinSessionId |
string |
Yes | |
reference |
string |
No |
Responses
200: OK
application/json
| Property | Type | Required | Description |
|---|---|---|---|
amount |
number |
No | |
currency |
string |
No | |
failureReason |
string |
No | |
id |
string |
No | |
payinSessionId |
string |
No | |
paymentInstrumentId |
string |
No | |
reference |
string |
No | |
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.