Skip to main content


A request to pay an amount to a beneficiary.

type PaymentInitiationRequest implements Node {
id: ID!
url: URL!
created: Date!
updated: Date!
amount: Money!
userReference: String! @deprecated
payerReference: String!
payerInformation: PayerInformation
beneficiaryReference: String!
externalReference: String
merchant: String
beneficiaries: [Beneficiary!]!
state: PaymentInitiationRequestState!
paymentConfirmation: PaymentConfirmation
settlement: Settlement
payerConstraints: PayerConstraints
refunds: [Refund!]!
expireAt: Date
events: [PaymentInitiationRequestEvent!]!
restrictPayerBank: PayerBankId
paymentMethods: [PaymentMethodOptions!]


id ● ID! non-null scalar

url ● URL! non-null scalar

created ● Date! non-null scalar

updated ● Date! non-null scalar

amount ● Money! non-null scalar

userReference ● String! deprecated non-null scalar


This field will be removed in a future release, please use payerReference instead.

The payment reference that will appear on the user's statement

payerReference ● String! non-null scalar

The payment reference that will appear on the user's statement

payerInformation ● PayerInformation object

KYC information for the payer supplied by the client.

beneficiaryReference ● String! non-null scalar

The payment reference that will appear on the beneficiary's statement

externalReference ● String scalar

Optional reference field that will be present with the redirect query parameters when the payment is completed.

merchant ● String scalar

The name or unique identifier for the merchant

beneficiaries ● [Beneficiary!]! non-null union

The list of beneficiaries used for the payment. The single beneficiary actually paid is in the PaymentSucceeded state

state ● PaymentInitiationRequestState! non-null union

paymentConfirmation ● PaymentConfirmation union

This field indicates the state of the payment relative to the Stitch intermediary account. If your client is not configured with an intermediary account, this field will remain null.

settlement ● Settlement object

A settlement represents a payout made to a client bank account.

payerConstraints ● PayerConstraints union

refunds ● [Refund!]! non-null object

expireAt ● Date scalar

Optional Date (ISO 8601) input used to set an expiry on a payment

events ● [PaymentInitiationRequestEvent!]! non-null interface

restrictPayerBank ● PayerBankId enum

Optional BankId used to restrict the bank a user may pay from.

paymentMethods ● [PaymentMethodOptions!] list union


Node interface

An abstract datatype that has a locally unique identifier, allowing a given node to be later queried by id using the node(id: ID!) query.