---
title: "Creating a Card Payment with a Network Reference ID"
source_url: https://docs.rapyd.net/en/creating-a-card-payment-with-a-network-reference-id.html
lang: en
---

# Creating a Card Payment with a Network Reference ID

Create a card payment using a network reference ID.

> **Note:**
>
> This feature is not relevant to subscriptions.

When you create a payment, you can use a network reference ID instead of the CVV inside `payment_method.fields`.

Reasons to create a payment with a network reference ID include:

- While you cannot store a CVV, you can store and reuse a network reference ID.
- Rapyd does not require [3DS](https://docs.rapyd.net/en/glossary.md#UUID-945d98cf-adae-e1cf-2606-c7fae8b4a7e1_rds "Three-Domain Secure") authentication by default for a payment with a network reference ID.

Rapyd provides a network reference ID in the following scenarios:

- When you create an initial payment with all of the required card fields, including `cvv`.
- When you add a card payment method to a customer.

You also can use a network reference ID provided by an external card acquirer.

Prerequisites

- [PCI](https://docs.rapyd.net/en/glossary.md#UUID-945d98cf-adae-e1cf-2606-c7fae8b4a7e1_pci "Payment Card Industry") certification.
- Authorization for the feature. Contact [Rapyd Client Support](https://support.rapyd.net).

How

The procedure is made up of the following steps:

1. Create a Payment to Generate a Network Reference ID
2. Create a Payment Using a Network Reference ID

### Generate a Network Reference ID

Create an initial payment as described in [Create Payment](https://docs.rapyd.net/en/create-payment.md "Create Payment"), with the following settings:

- `payment_method` - Specify an object that contains all the required fields for a card payment method, including the `cvv` field.

Initial Create Payment request - partial

```json
{
    "payment_method": {
        "type": "at_visa_card",
        "fields": {
            "number": "4111111111111111",
            "expiration_month": "12",
            "expiration_year": "23",
            "cvv": "123",
            "name": "John Doe"
        }
    },

//         . . .

}
```

Initial response - partial

```json
   "data": {

//         . . .

        "payment_method_data": {

//         . . .
            "network_reference_id": "090238024661297"
        },

//         . . .

    }
```

For a full code example, see **Payment by card** on [Create Payment](https://docs.rapyd.net/en/create-payment.md "Create Payment").

The response shows:

- In the `payment_method_data` object: `network_reference_id` - The network reference ID.

The network reference ID also appears in [Webhook - Payment Succeeded](https://docs.rapyd.net/en/payment-succeeded-webhook.md "Payment Succeeded Webhook").

### Create a Payment Using a Network Reference ID

Prerequisites

A network reference ID generated by one of the following:

- Create Payment (Step 1, above)
- [Add Payment Method to Customer](https://docs.rapyd.net/en/add-payment-method-to-customer.md "Add Payment Method to Customer")
- An external card acquirer

How

Create a subsequent payment with the following settings:

- `payment_method` - Specify an object that contains all the required fields for the card payment method. Use the `network_reference_id` field instead of the `cvv` field.

Subsequent Create Payment request - partial

```json
{
    "payment_method": {
        "type": "at_visa_card",
        "fields": {
            "number": "4111111111111111",
            "expiration_month": "12",
            "expiration_year": "23",
            "network_reference_id": "090238024661297",
            "name": "John Doe"
        }
    },

//         . . .

}
```

For a full code example, see **Payment with network reference ID** on [Create Payment](https://docs.rapyd.net/en/create-payment.md "Create Payment").

> **Note:**
>
> For all subsequent payments, you must use the initial network reference ID. The response in each subsequent payment contains a different network reference ID, which you do not use.
