Skip to main content


All of the data required to create a payment request.

input ClientPaymentInitiationRequestCreateInput {
amount: MoneyInput!
merchantId: String
beneficiary: BeneficiaryInput
payerReference: String!
payerInformation: PayerInformationInput
beneficiaryReference: String!
externalReference: String
expireAt: Date
merchant: String
iframeAllowlist: [String]
restrictPayerBank: PayerBankId
merchantDetails: MerchantDetailsInput
paymentMethods: PaymentMethodsInput


amount ● MoneyInput! non-null input

merchantId ● String scalar

Optional merchant identifier of the entity receiving the payment based on merchant specific configuration. Either beneficiary or merchantId must be specified.

beneficiary ● BeneficiaryInput input

Optional entity receiving the payment. Either beneficiary or merchantId must be specified.

payerReference ● String! non-null scalar

The payment reference that will appear on the payers's statement. Must be 12 characters or less.

payerInformation ● PayerInformationInput input

Optional payer KYC information. Client config will drive which fields are required if any.

beneficiaryReference ● String! non-null scalar

The payment reference that will appear on the beneficiary's statement. Must be 20 characters or less.

externalReference ● String scalar

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

expireAt ● Date scalar

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

merchant ● String scalar

The name or unique identifier for the merchant

iframeAllowlist ● [String] list scalar

List of domains permitted to iframe the safelink page that gets served to the user

restrictPayerBank ● PayerBankId enum

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

merchantDetails ● MerchantDetailsInput input

Optional details specifying the merchant who is issuing the transaction

paymentMethods ● PaymentMethodsInput input

Optional field to configure payment methods.