Creates a payment request record.

Authorization: End user or Merchant token is required.

User permissions required: CanCreatePaymentRequests

Body Params

A payment request object containing the details of the record to create.

uuid

The ID of the merchant to create the payment request for.

double
required

The amount of money to request.

string
enum

The currency of the payment request.

string | null

An optional customer identifier for the payment request. This field is sent to the payer's bank when using payment initiation. The restriction in the available characters is due to some banks rejecting requests when ones outside the set are used.

string | null

An optional order ID for the payment request. If the request is for an invoice this is the most appropriate field for the invoice ID.

paymentMethods
array of strings | null

The payment methods that the payment request supports.

paymentMethods
string | null

An optional description for the payment request. If set this field will appear on the transaction record for some card processors.

uuid | null

The payment account ID to use to receive payment initiation payments. This must match one of your NoFrixion payment account IDs. This can be left blank to use your default payment account.

string | null

Optionally the first name of the customer's shipping address.

string | null

Optionally the last name of the customer's shipping address.

string | null

Optionally the first line of the customer's shipping address.

string | null

Optionally the second line of the customer's shipping address.

string | null

Optionally the city of the customer's shipping address.

string | null

Optionally the state or county of the customer's shipping address.

string | null

Optionally the post code of the customer's shipping address.

string | null

Optionally the country code of the customer's shipping address.

string | null

Optionally the shipping phone number for the customer.

string | null

Optionally the shipping email address for the customer.

string | null

Once a payment is processed, or a notification of an inbound payment is received, a callback request will be made to this URL. Typically it will be the page on a merchant's web site that displays the results of the payment attempt.

string | null

Optional callback URL for payment failures that can occur when the payer is redirected away from the payment page. Typically the payer is only sent away from the payment page for pay by bank attempts. If this URL is not set the payer will be redirected back to the original URL the payment attempt was initiated from.

string | null

If a payment event results in the payment request being classified as fully paid this success webhook URL will be invoked. The URL will be invoked as a GET request, i.e. there will be no request body. Two query parameters will be added to the URL. The first one will be "id" and will hold the payment request ID. The second one will be "orderid" and will hold the payment request OrderID, note the OrderID could be empty if it was not set when the payment request was created. The recommended approach when receiving a success web hook is to use the "id" parameter to call the moneymoov get payment request endpoint to retrieve the full details of the payment request and check the status. Web hooks can be easily spoofed and should not be relied upon.

boolean

For card payments the default behaviour is to authorise and capture the payment at the same time. If a merchant needs to authorise and then capture at a later point this property needs to be set to true.

boolean

For card payments a payment attempt can be used to create a reusable token for subsequent payments. Setting this field to true will create a reusable customer token.

string
enum

This specifies whether user consent will be taken before tokenising card or not. This cannot be 'None' if CardCreateToken is set to true. If this is set to 'UserConsentRequired' then, the user consent will overwrite CardCreateToken flag on submit card payment.

Allowed:
boolean

If set to true for card payments the sensitive card number and card verification number will be transmitted directly rather than being tokenised. This makes the payment quicker but more exposed to client side flaws such as cross site scripting.

string | null

Optional field that if specified indicates the processor merchant ID that should be used to process any card payments. Mainly useful where a merchant has multiple processor merchant ID's. If left empty the default merchant card settings will be used.

boolean

If set to true the card payment gateway will be directed to proceed with a payment even if the address verification checks fails.

boolean

If set to true the card payment gateway will be directed to proceed with a payment even if the card verification number check fails.

boolean

If set to true, and the merchant is configured for hosted payment pages, the base and callback URLs will be set to use the hosted payment page.

boolean

If set to true for card payments no attempt will be made to use payer authentication (3-D Secure and equivalent). Skipping payer authentication can help avoid failed payment attempts when a payer is not enrolled or when they can't be bothered completing their issuing bank's authentication steps. A disadvantage is it exposes the merchant to liability for charge backs.

string
enum

The approach to use, or not, for accepting partial payments.

Allowed:
string | null

Optional email address for the customer. If the tokenise card option is set then the customer email address is mandatory.

string | null
uuid | null

The ID of the bank that is set as the priority bank for display on pay element.

string | null

A generic field to contain any additional data that the merchant wishes to store against the payment request. E.g. product or service information.

string | null

An optional comma separated list of partial payment amounts. The amounts represent guidance, or suggestions, as to how the payer will be requested to make partial payments.

uuid | null

Optional, if set it indicates that this payment request will be used to top up a payment account for a pay run.

int32 | null

Sandbox only. Optional. If set, the simulated Direct Debit settlement will be delayed by the specified number of seconds. Must be greater than 0 and less than 600. Otherwise, the default value will be used.

tagIds
array of uuids | null

An optional list of tag ids to add to the payment request

tagIds
tags
array of strings | null

An optional list of tag values to set on the payment request. If no matching tag exists it will be created.

tags
boolean

If set to true, a receipt will be automatically sent to the CustomerEmailAddress when payments are received.

customFields
array of objects | null

A list of custom fields to add to the payment request. The custom fields are data type agnostic which means that the API will not do any validation or formatting in the key-value pairs. The API will store the custom fields as is.

customFields
date-time | null

An optional due date for the payment request.

fieldDisplaySettings
array of objects | null

An optional display settings for the payment request fields. This allows the merchant to control how the fields are displayed on the hosted payment page, receipt, etc.

fieldDisplaySettings
notificationRoleIDs
array of uuids | null

An optional list of notification role IDs that will receive notifications about the payment request. This is useful for roles that need to be notified about payment request events.

notificationRoleIDs
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

201

Returns the newly created payment request record.

Language
Credentials
Header
Response
Click Try It! to start a request and see the response here! Or choose an example:
text/plain
application/json
text/json