API

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.