> For the complete documentation index, see [llms.txt](https://developer.paywall.one/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.paywall.one/payment-orchestration-integration-document/card-production-service/virtual-card/1.-create.md).

# 1. Create

## Create Virtual Card

<mark style="color:green;">`POST`</mark> `{{Base Address}}/api/paywall/card/production/virtual`

Simply sending a request to the provided address above will suffice. You can use 'Base Address' as you wish for both the test environment and the production environment.

{% hint style="info" %}
**Important**: In order to use the 'Virtual Card - Creation' service, you need to send the '**apikeyprivate**' and '**apiclientprivate**' parameters in the 'Header' field.

\
[<mark style="color:green;">**PaymentAPI Address**</mark>](/payment-orchestration-integration-document/environment.md)
{% endhint %}

**The header information that needs to be sent to the service is as follows:**

<table><thead><tr><th width="180">Parameter</th><th width="96.33333333333331">Type</th><th width="144">Compulsory </th><th>Description</th></tr></thead><tbody><tr><td>apikeyprivate</td><td>string</td><td>Yes</td><td>The Private Key obtained from the merchant panel.</td></tr><tr><td>apiclientprivate</td><td>string</td><td>Yes</td><td>The Private Client obtained from the merchant panel.</td></tr></tbody></table>

**The parameters that need to be sent to the service are as follows:**

<table><thead><tr><th width="209">Parameter</th><th width="108">Type</th><th width="142">Compulsory </th><th>Description</th></tr></thead><tbody><tr><td>CardProductionKey</td><td>string</td><td>Yes</td><td>The provider key information to which the card will be created and linked to your account.</td></tr><tr><td>Description</td><td>string</td><td>Yes</td><td>The person or description to which the card will be associated.</td></tr><tr><td>Phone</td><td>string</td><td>Yes</td><td>The phone number to which the card will be associated.</td></tr><tr><td>ExternalId</td><td>string</td><td>No</td><td>The identity information of the card in your system.</td></tr></tbody></table>

{% tabs %}
{% tab title="JSON" %}
{% code overflow="wrap" lineNumbers="true" %}

```json5
{
    "CardProductionKey": "Papara",
    "Description": "Card Holder",
    "Phone": "5554443322",
    "ExternalId": "1231231a3"
}
```

{% endcode %}
{% endtab %}

{% tab title="C#" %}

```csharp
// Soon
```

{% endtab %}

{% tab title="GO" %}

```go
// Soon
```

{% endtab %}

{% tab title="Java" %}

```java
// Soon
```

{% endtab %}

{% tab title="PHP" %}

```php
// Soon
```

{% endtab %}

{% tab title="Python" %}

```python
// Soon
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
// Soon
```

{% endtab %}

{% tab title="TypeScript" %}

```typescript
// Soon
```

{% endtab %}

{% tab title="Curl" %}

```sh
// Soon
```

{% endtab %}
{% endtabs %}

**The response returned from the service:**

<table><thead><tr><th width="156">Parameter</th><th width="83.33333333333331">Type</th><th>Description</th></tr></thead><tbody><tr><td>Body</td><td>object</td><td>JSON containing detailed information about the card.</td></tr><tr><td>ErrorCode</td><td>int</td><td>Error code. Returns '0' if the operation is successful.</td></tr><tr><td>Result</td><td>bool</td><td>It returns a value of true or false. Returns 'true' if the operation is successful.</td></tr><tr><td>Message</td><td>string</td><td>If the operation is unsuccessful, this is the specified error message, providing language support according to the locale parameter.</td></tr></tbody></table>

{% tabs %}
{% tab title="JSON" %}
{% code overflow="wrap" lineNumbers="true" %}

```json5
{
    "ErrorCode": 0,
    "Result": true,
    "Message": "",
    "Body": {
        "CardId": 1786886,
        "CardIdExternal": 66736,
        "ExternalId": "1231231a3",
        "CardNumber": "5297990038619840",
        "ExpiryMonth": "08",
        "ExpiryYear": "27"
    }
}
```

{% endcode %}
{% endtab %}
{% endtabs %}
