---
title: "create payment · RUAL Documentation"
description: "Announces an order to Rabo Smart Pay and returns the redirect url of the hosted payment page : redirect the customer there. Nothing is paid yet: the out…"
canonical: https://docs.rual.nl/block-types/rabosmartpay/rabosmartpayconnection_order_create
language: en
---

# create payment

This block is part of the [`rabosmartpay`](https://docs.rual.nl/block-types/rabosmartpay) group and was last modified in core [`v15.0.2`](https://docs.rual.nl/core-versions/150002).

Announces an order to Rabo Smart Pay and returns the **redirect url** of the hosted payment page : redirect the customer there. Nothing is paid yet: the outcome comes back on the return URL, through the webhook (**process webhook**) and from **get payment**. Fulfil on the webhook or get payment, never on the return URL alone.

- flow

- connection `rabosmartpayconnection` required

- merchant order id `value` required Your own order reference. **Letters and digits only** : Smart Pay refuses dashes and underscores. It comes back on the return URL and in every status result.

- amount `number` required Amount in cents : €12.34 is `1234`. A fraction is refused rather than rounded.

- currency `value` Default `EUR`.

- description `value` Shown to the customer on the payment page.

- return url `value` Where the customer lands afterwards; Smart Pay appends `order_id`, `status` and `signature`. Falls back to the provider's default return URL.

- language `value` Language of the payment page. • Suggestions: `NL` `EN` `FR` `DE`

- payment brand `value` Open the payment page on one brand instead of the selection list. • Suggestions: `IDEAL` `CARDS` `VISA` `MASTERCARD` `MAESTRO` `V_PAY` `BANCONTACT` `PAYPAL`

- brand force `value` `FORCE_ONCE` (default when a brand is set) still lets the customer pick another brand if the first one fails; `FORCE_ALWAYS` allows only that brand. • Suggestions: `FORCE_ONCE` `FORCE_ALWAYS`

- skip result page `boolean` Send the customer straight back to the return URL instead of Smart Pay's own result page.

- customer email `value`

- customer name `value`

- customer phone `value`

- customer details `object` Further `customerInformation` fields as Smart Pay names them: `dateOfBirth` (DD-MM-YYYY), `gender`, `initials`.

- order items `array ` Order lines: `name`, `quantity`, `amount` (cents, per unit), optional `description`, `tax`, `category` (PHYSICAL/DIGITAL) and `vat_category` (HIGH/LOW/ZERO/NONE).

- shipping address `object` Smart Pay address fields: `firstName`, `lastName`, `street`, `houseNumber`, `postalCode`, `city`, `countryCode`.

- billing address `object`

- bank statement text `value` What the customer sees on their bank statement.

- extra fields `object` Merged into the order request as-is, for Smart Pay fields this block does not name.

- flow

- connection `rabosmartpayconnection`

- redirect url `value` The hosted payment page. Redirect the customer here.

- order id `value` Smart Pay's id for the order. Store it with your order: get payment reads the order by it.

- merchant order id `value`

- success `condition`

- error `value` Smart Pay's own message, e.g. *merchantOrderId should only contain alphanumeric characters*, or a sentinel for a problem in the wiring.

- error code `value` Smart Pay's code (`5017` validation, `5001` authorization) or a sentinel like `SIGNATURE_MISMATCH`.

| `rabo checkout` |
| --- |
| `smart pay order` |
| `payment page` |
| `pay url` |
| `redirect` |
| `ideal payment` |
| `announce order` |

## Version history

Introduced in [`v15.0.2`](https://docs.rual.nl/core-versions/150002).

## Service documentation

- [External API reference](https://docs.developer.rabobank.com/smartpay/reference/integration-guide): This block wraps a third-party service. Click here for the service's own documentation of the underlying endpoint.

- [Back to `rabosmartpay`](https://docs.rual.nl/block-types/rabosmartpay): Return to the main group to view all sub-groups

- [Back to `payments`](https://docs.rual.nl/block-types/rabosmartpay?group=payments): Return to the group to view all blocks within this group
