# Initiate a transaction

Once you're all set, you're ready to let your customers buy crypto with us.

## Redirect the customer

The first step is to redirect your customer to our platform using a special URL:

- ![$Production]

  ```shell
  https://ramp.revolut.com/?<YOUR_PARAMETERS_LIST>
  ```

- ![$Test environment]

  ```shell
  https://ramp.revolut.codes/?<YOUR_PARAMETERS_LIST>
  ```

This URL consists of the Revolut Ramp platform address followed by a list of different key-value parameters, which you can set before you redirect the customer to us. The parameters list follows `?`, and multiple parameters are separated by `&`, like this:

```
<PARAMETER1>=<VALUE_FOR_PARAMETER1>&<PARAMETER2>=<VALUE_FOR_PARAMETER2>
```

What is more, you can decide whether to let the customer modify these parameters after redirection or not.

An example URL looks like this:


- ![$Production]

  ```shell
  https://ramp.revolut.com/?amount=700&fiatCurrency=EUR&walletAddress=0xc1912fee45d61c87cc5ea59dae31190fffff232d&partnerId=fb48770a-51b0-402e-8d25-33474f474aa2
  ```

- ![$Test environment]

  ```shell
  https://ramp.revolut.codes/?amount=700&fiatCurrency=EUR&walletAddress=0xc1912fee45d61c87cc5ea59dae31190fffff232d&partnerId=fb48770a-51b0-402e-8d25-33474f474aa2
  ```

### Configurable parameters

These are the parameters that you can configure and include in the Revolut Ramp Redirect URL:

| Parameter            | Description                                                                                                                                                                                                                                                                                                                                                                                                                         | Example                                                           | JSON type        |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | ---------------- |
| `amount`             | Default fiat amount that is pre-filled for the user. Provided in *minor currency* (`amount=10&fiatCurrency=EUR` means `€0.10`).                                                                                                                                                                                                                                                                                                     | `amount=1000`, `amount=1250`                                      | number($integer) |
| `fiatCurrency`       | [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code of the default fiat currency. Defaults to `GBP`.                                                                                                                                                                                                                                                                                                                            | `fiatCurrency=EUR`                                                | string           |
| `cryptoCurrency`     | Default crypto currency [symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies). Defaults to `ETH`.                                                                                                                                                                                                                                                                                                                        | `cryptoCurrency=BTC`                                              | string           |
| `countryCode`        | [ISO 3166 Alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code of the country                                                                                                                                                                                                                                                                                                                                            | `countryCode=GB`                                                  | string           |
| `walletAddress`      | Default wallet address                                                                                                                                                                                                                                                                                                                                                                                                              | `walletAddress=`<br/>`0xc1912fee45d61c87cc5ea59dae31190fffff232d` | string           |
| `partnerId`          | Partner ID. It allows us to distinguish transactions from a particular Partner. It is useful, for example, for customer support or financial settlements with Partners.                                                                                                                                                                                                                                                             | `partnerId=fb48770a-51b0-402e-8d25-33474f474aa1`                  | string           |
| `externalOrderId`    | External order ID. May be provided by the Partner on order creation via the `ramp_redirect_url` that redirects the customer to Revolut Ramp. It allows the Partner to fetch an order from the Revolut Ramp database based on this ID using the `/orders/{order_id}` endpoint. Must match following regular expression:<br/>`^(?:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})\|(?:[0-9a-zA-Z]{26})$` | `externalOrderId=a01868cc-71ab-d2ed-a10b-0a32ac1c0b02`            | string($regexp)  |
| `partnerRedirectUrl` | Success Redirect URL. If provided, the customer is redirected to this URL upon successful order creation. Otherwise, the customer is taken to the transaction details on Revolut Ramp.                                                                                                                                                                                                                                              | `partnerRedirectUrl=https://example.com`                          | string($uri)     |

#### Input Control Parameters

On top of the parameters above, you can also decide to disable input for certain parameters. This is useful when you want to pre-configure these parameters and don't want the customer to modify them. These are the disable options that you can use:

:::warning
If you disable a certain parameter but then don't provide a pre-configured value for it, the setting is overridden and the parameter is not disabled.
:::

| Parameter               | Description                                                                                                                               | Example usage                | JSON type |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | --------- |
| `disableFiatAmount`     | Disable the Fiat amount input.<br/>If `amount` is not provided, this is overridden with `false`.<br/>Defaults to `false`.                 | `disableFiatAmount=true`     | boolean   |
| `disableCountryCode`    | Disable the Country code selection input.<br/>If `countryCode` is not provided, this is overridden with `false`.<br/>Defaults to `false`. | `disableCountryCode=true`    | boolean   |
| `disableWalletAddress`  | Disable the Wallet address input.<br/>If `walletAddress` is not provided, this is overridden with `false`.<br/>Defaults to `false`.       | `disableWalletAddress=true`  | boolean   |
| `disableCryptoCurrency` | Disable Crypto currency selection.                                                                                                        | `disableCryptoCurrency=true` | boolean   |

## What's next

Once you redirect the user to Revolut Ramp, they go through order creation on our portal. For more details, see the [order creation from customer's perspective](customer-perspective.md).

## Related links

- [Get a Revolut Ramp Redirect URL using the Crypto Ramp API](../tutorials/use-the-api.md#get-a-revolut-ramp-redirect-url)