---
title: "Manage cards"
description: "Learn how to change the status of a card."
url: "https://docs.adyen.com/issuing/manage-cards"
source_url: "https://docs.adyen.com/issuing/manage-cards.md"
canonical: "https://docs.adyen.com/issuing/manage-cards"
last_modified: "2019-12-18T15:48:00+01:00"
language: "en"
---

# Manage cards

Learn how to change the status of a card.

After you create and issue cards to your users, you will need to manage the whole lifecycle of your cards, including:

* [Updating the balance account linked to a card through the API](#update-balance-account-id).
* [Activating a card to enable payment processing](#activate-card).
* [Suspending a card to temporarily stop payment processing](#suspend-card).
* [Permanently closing a card](#close-card).
* [Viewing card payments in the Customer Area](#view-card-payments).

## Update the balance account linked to a card

Some use cases might require that you update the balance account linked to a card after the card has been created. You can do this only if the card is in **inactive** status.

To update the balance account ID, make a PATCH [/paymentInstruments/{id}](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/patch/paymentInstruments/{id}) request and send the new `balanceAccountId`.

**Update the balance account ID**

#### curl

```bash
curl https://balanceplatform-api-test.adyen.com/bcl/v2/paymentInstruments/PI3227C223222B5BPCMFXD2XG \
-H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \
-H 'content-type: application/json' \
-X PATCH \
-d '{
    "balanceAccountId":"BA32272223222B5CM82WL892M"
}'
```

#### Java

```java
// Adyen Java API Library v25.0.0
import com.adyen.Client;
import com.adyen.enums.Environment;
import com.adyen.model.balancePlatform.*;
import java.time.OffsetDateTime;
import java.util.*;
import com.adyen.service.balancePlatform.*;

Client client = new Client("ADYEN_API_KEY", Environment.TEST);

// Create the request object(s)
PaymentInstrumentUpdateRequest paymentInstrumentUpdateRequest = new PaymentInstrumentUpdateRequest()
  .balanceAccountId("BA32272223222B5CM82WL892M");

// Make the API call
PaymentInstrumentsApi service = new PaymentInstrumentsApi(client);
UpdatePaymentInstrument response = service.updatePaymentInstrument("id", paymentInstrumentUpdateRequest, null);
```

#### PHP

```php
// Adyen PHP API Library v17.4.0
use Adyen\Client;
use Adyen\Environment;
use Adyen\Model\BalancePlatform\PaymentInstrumentUpdateRequest;
use Adyen\Service\BalancePlatform\PaymentInstrumentsApi;

$client = new Client();
$client->setXApiKey("ADYEN_API_KEY");
$client->setEnvironment(Environment::TEST);


// Create the request object(s)
$paymentInstrumentUpdateRequest = new PaymentInstrumentUpdateRequest();
$paymentInstrumentUpdateRequest
  ->setBalanceAccountId("BA32272223222B5CM82WL892M");

// Make the API call
$service = new PaymentInstrumentsApi($client);
$response = $service->updatePaymentInstrument('id', $paymentInstrumentUpdateRequest);
```

#### C\#

```cs
// Adyen .net API Library v14.4.0
using Adyen;
using Environment = Adyen.Model.Environment;
using Adyen.Model;
using Adyen.Model.BalancePlatform;
using Adyen.Service.BalancePlatform;

var config = new Config()
{
    XApiKey = "ADYEN_API_KEY",
    Environment = Environment.Test
};
var client = new Client(config);

// Create the request object(s)
PaymentInstrumentUpdateRequest paymentInstrumentUpdateRequest = new PaymentInstrumentUpdateRequest
{
  BalanceAccountId = "BA32272223222B5CM82WL892M"
};

// Make the API call
var service = new PaymentInstrumentsService(client);
var response = service.UpdatePaymentInstrument("id", paymentInstrumentUpdateRequest);
```

#### NodeJS (JavaScript)

```js
// Adyen Node API Library v16.2.0
// Require the parts of the module you want to use
const { Client, BalancePlatformAPI } = require('@adyen/api-library');
// Initialize the client object
const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"});

// Create the request object(s)
const paymentInstrumentUpdateRequest = {
  balanceAccountId: "BA32272223222B5CM82WL892M"
}

// Make the API call
const balancePlatformAPI = new BalancePlatformAPI(client);
const response = balancePlatformAPI.PaymentInstrumentsApi.updatePaymentInstrument("id", paymentInstrumentUpdateRequest);
```

#### Go

```go
// Adyen Go API Library v9.3.0
import (
  "context"
  "github.com/adyen/adyen-go-api-library/v9/src/common"
  "github.com/adyen/adyen-go-api-library/v9/src/adyen"
  "github.com/adyen/adyen-go-api-library/v9/src/balancePlatform"
)
client := adyen.NewClient(&common.Config{
  ApiKey:      "ADYEN_API_KEY",
  Environment: common.TestEnv,
})

// Create the request object(s)
paymentInstrumentUpdateRequest := balancePlatform.PaymentInstrumentUpdateRequest{
  BalanceAccountId: common.PtrString("BA32272223222B5CM82WL892M"),
}

// Make the API call
service := client.BalancePlatform()
req := service.PaymentInstrumentsApi.UpdatePaymentInstrumentInput("id").PaymentInstrumentUpdateRequest(paymentInstrumentUpdateRequest)
res, httpRes, err := service.PaymentInstrumentsApi.UpdatePaymentInstrument(context.Background(), req)
```

#### Python

```py
# Adyen Python API Library v12.2.0
import Adyen

adyen = Adyen.Adyen()
adyen.client.xapikey = "ADYEN_API_KEY"
adyen.client.platform = "test" # The environment to use library in.

# Create the request object(s)
json_request = {
  "balanceAccountId": "BA32272223222B5CM82WL892M"
}

# Make the API call
result = adyen.balancePlatform.payment_instruments_api.update_payment_instrument(request=json_request, id="id")
```

#### Ruby

```rb
# Adyen Ruby API Library v9.3.0
require "adyen-ruby-api-library"

adyen = Adyen::Client.new
adyen.api_key = 'ADYEN_API_KEY'
adyen.env = :test # Set to "live" for live environment

# Create the request object(s)
request_body = {
  :balanceAccountId => 'BA32272223222B5CM82WL892M'
}

# Make the API call
result = adyen.balancePlatform.payment_instruments_api.update_payment_instrument(request_body, 'id')
```

#### NodeJS (TypeScript)

```ts
// Adyen Node API Library v16.2.0
// Require the parts of the module you want to use
import { Client, BalancePlatformAPI, Types } from "@adyen/api-library";
// Initialize the client object
const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"});

// Create the request object(s)
const paymentInstrumentUpdateRequest: Types.balancePlatform.PaymentInstrumentUpdateRequest = {
  balanceAccountId: "BA32272223222B5CM82WL892M"
};

// Make the API call
const balancePlatformAPI = new BalancePlatformAPI(client);
const response = balancePlatformAPI.PaymentInstrumentsApi.updatePaymentInstrument("id", paymentInstrumentUpdateRequest);
```

The response contains the **paymentInstrument** resource, with the updated `balanceAccountId`.

## Activate a card

To secure physical cards, we recommended that you keep them inactive until the user receives the card.

You can activate cards using the Customer Area or the Balance Platform API.

### Tab: Customer Area

To activate a card:

1. Log in to the [Customer Area](https://ca-test.adyen.com/).
2. Go to **Financial products** > **Payment instruments**.
3. Select the appropriate payment instrument from the list.
4. Select **Change card status** in the upper right corner.
5. In the pop-up window, set the **New Status** to **Active**.
6. Select **Change status**.

### Tab: API

To activate a card, make a PATCH [/paymentInstruments/{id}](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/patch/paymentInstruments/{id}) request and set its `status` to **active**.

**Activate a card**

#### curl

```bash
curl https://balanceplatform-api-test.adyen.com/bcl/v2/paymentInstruments/PI3227C223222B5BPCMFXD2XG \
-H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \
-H 'content-type: application/json' \
-X PATCH \
-d '{
    "status":"active"
}'
```

#### Java

```java
// Adyen Java API Library v25.0.0
import com.adyen.Client;
import com.adyen.enums.Environment;
import com.adyen.model.balancePlatform.*;
import java.time.OffsetDateTime;
import java.util.*;
import com.adyen.service.balancePlatform.*;

Client client = new Client("ADYEN_API_KEY", Environment.TEST);

// Create the request object(s)
PaymentInstrumentUpdateRequest paymentInstrumentUpdateRequest = new PaymentInstrumentUpdateRequest()
  .status(PaymentInstrumentUpdateRequest.StatusEnum.ACTIVE);

// Make the API call
PaymentInstrumentsApi service = new PaymentInstrumentsApi(client);
UpdatePaymentInstrument response = service.updatePaymentInstrument("id", paymentInstrumentUpdateRequest, null);
```

#### PHP

```php
// Adyen PHP API Library v17.4.0
use Adyen\Client;
use Adyen\Environment;
use Adyen\Model\BalancePlatform\PaymentInstrumentUpdateRequest;
use Adyen\Service\BalancePlatform\PaymentInstrumentsApi;

$client = new Client();
$client->setXApiKey("ADYEN_API_KEY");
$client->setEnvironment(Environment::TEST);


// Create the request object(s)
$paymentInstrumentUpdateRequest = new PaymentInstrumentUpdateRequest();
$paymentInstrumentUpdateRequest
  ->setStatus("active");

// Make the API call
$service = new PaymentInstrumentsApi($client);
$response = $service->updatePaymentInstrument('id', $paymentInstrumentUpdateRequest);
```

#### C\#

```cs
// Adyen .net API Library v14.4.0
using Adyen;
using Environment = Adyen.Model.Environment;
using Adyen.Model;
using Adyen.Model.BalancePlatform;
using Adyen.Service.BalancePlatform;

var config = new Config()
{
    XApiKey = "ADYEN_API_KEY",
    Environment = Environment.Test
};
var client = new Client(config);

// Create the request object(s)
PaymentInstrumentUpdateRequest paymentInstrumentUpdateRequest = new PaymentInstrumentUpdateRequest
{
  Status = PaymentInstrumentUpdateRequest.StatusEnum.Active
};

// Make the API call
var service = new PaymentInstrumentsService(client);
var response = service.UpdatePaymentInstrument("id", paymentInstrumentUpdateRequest);
```

#### NodeJS (JavaScript)

```js
// Adyen Node API Library v16.2.0
// Require the parts of the module you want to use
const { Client, BalancePlatformAPI } = require('@adyen/api-library');
// Initialize the client object
const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"});

// Create the request object(s)
const paymentInstrumentUpdateRequest = {
  status: "active"
}

// Make the API call
const balancePlatformAPI = new BalancePlatformAPI(client);
const response = balancePlatformAPI.PaymentInstrumentsApi.updatePaymentInstrument("id", paymentInstrumentUpdateRequest);
```

#### Go

```go
// Adyen Go API Library v9.3.0
import (
  "context"
  "github.com/adyen/adyen-go-api-library/v9/src/common"
  "github.com/adyen/adyen-go-api-library/v9/src/adyen"
  "github.com/adyen/adyen-go-api-library/v9/src/balancePlatform"
)
client := adyen.NewClient(&common.Config{
  ApiKey:      "ADYEN_API_KEY",
  Environment: common.TestEnv,
})

// Create the request object(s)
paymentInstrumentUpdateRequest := balancePlatform.PaymentInstrumentUpdateRequest{
  Status: common.PtrString("active"),
}

// Make the API call
service := client.BalancePlatform()
req := service.PaymentInstrumentsApi.UpdatePaymentInstrumentInput("id").PaymentInstrumentUpdateRequest(paymentInstrumentUpdateRequest)
res, httpRes, err := service.PaymentInstrumentsApi.UpdatePaymentInstrument(context.Background(), req)
```

#### Python

```py
# Adyen Python API Library v12.2.0
import Adyen

adyen = Adyen.Adyen()
adyen.client.xapikey = "ADYEN_API_KEY"
adyen.client.platform = "test" # The environment to use library in.

# Create the request object(s)
json_request = {
  "status": "active"
}

# Make the API call
result = adyen.balancePlatform.payment_instruments_api.update_payment_instrument(request=json_request, id="id")
```

#### Ruby

```rb
# Adyen Ruby API Library v9.3.0
require "adyen-ruby-api-library"

adyen = Adyen::Client.new
adyen.api_key = 'ADYEN_API_KEY'
adyen.env = :test # Set to "live" for live environment

# Create the request object(s)
request_body = {
  :status => 'active'
}

# Make the API call
result = adyen.balancePlatform.payment_instruments_api.update_payment_instrument(request_body, 'id')
```

#### NodeJS (TypeScript)

```ts
// Adyen Node API Library v16.2.0
// Require the parts of the module you want to use
import { Client, BalancePlatformAPI, Types } from "@adyen/api-library";
// Initialize the client object
const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"});

// Create the request object(s)
const paymentInstrumentUpdateRequest: Types.balancePlatform.PaymentInstrumentUpdateRequest = {
  status: Types.balancePlatform.PaymentInstrumentUpdateRequest.StatusEnum.Active
};

// Make the API call
const balancePlatformAPI = new BalancePlatformAPI(client);
const response = balancePlatformAPI.PaymentInstrumentsApi.updatePaymentInstrument("id", paymentInstrumentUpdateRequest);
```

After the card is activated, it can start processing payments.

## Suspend a card

You can suspend a payment instrument to temporarily prevent payment processing. You can activate the card again at any time. To permanently deactivate a card, see [Close a card](#close-card).

You can suspend cards using the Customer Area or the Balance Platform API.

### Tab: Customer Area

To suspend a card:

1. Log in to the [Customer Area](https://ca-test.adyen.com/).
2. Go to **Financial products** > **Payment instruments**.
3. Select the appropriate payment instrument from the list.
4. Select **Change card status** in the upper right corner.
5. In the pop-up window, set the **New Status** to **Suspended**.
6. In the **Reason** dropdown list, select the appropriate reason for the status change.
7. If you have selected **Other** as a reason, you are also required to add a note.
8. Select **Change status**.

### Tab: API

To suspend a card, make a PATCH [/paymentInstruments/{id}](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/patch/paymentInstruments/{id}) request with the following parameters:

* `status`: **suspended**.
* `statusReason`: **lost**, **stolen**, **damaged**, **suspectedFraud**, or **other**.
* `statusComment` : Required if `statusReason` is **other**.

**Suspend a card**

#### curl

```bash
curl https://balanceplatform-api-test.adyen.com/bcl/v2/paymentInstruments/PI3227C223222B5BPCMFXD2XG \
-H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \
-H 'content-type: application/json' \
-X PATCH \
-d '{
    "status":"suspended",
    "statusReason":"lost"
}'
```

#### Java

```java
// Adyen Java API Library v25.0.0
import com.adyen.Client;
import com.adyen.enums.Environment;
import com.adyen.model.balancePlatform.*;
import java.time.OffsetDateTime;
import java.util.*;
import com.adyen.service.balancePlatform.*;

Client client = new Client("ADYEN_API_KEY", Environment.TEST);

// Create the request object(s)
PaymentInstrumentUpdateRequest paymentInstrumentUpdateRequest = new PaymentInstrumentUpdateRequest()
  .statusReason(PaymentInstrumentUpdateRequest.StatusReasonEnum.LOST)
  .status(PaymentInstrumentUpdateRequest.StatusEnum.SUSPENDED);

// Make the API call
PaymentInstrumentsApi service = new PaymentInstrumentsApi(client);
UpdatePaymentInstrument response = service.updatePaymentInstrument("id", paymentInstrumentUpdateRequest, null);
```

#### PHP

```php
// Adyen PHP API Library v17.4.0
use Adyen\Client;
use Adyen\Environment;
use Adyen\Model\BalancePlatform\PaymentInstrumentUpdateRequest;
use Adyen\Service\BalancePlatform\PaymentInstrumentsApi;

$client = new Client();
$client->setXApiKey("ADYEN_API_KEY");
$client->setEnvironment(Environment::TEST);


// Create the request object(s)
$paymentInstrumentUpdateRequest = new PaymentInstrumentUpdateRequest();
$paymentInstrumentUpdateRequest
  ->setStatusReason("lost")
  ->setStatus("suspended");

// Make the API call
$service = new PaymentInstrumentsApi($client);
$response = $service->updatePaymentInstrument('id', $paymentInstrumentUpdateRequest);
```

#### C\#

```cs
// Adyen .net API Library v14.4.0
using Adyen;
using Environment = Adyen.Model.Environment;
using Adyen.Model;
using Adyen.Model.BalancePlatform;
using Adyen.Service.BalancePlatform;

var config = new Config()
{
    XApiKey = "ADYEN_API_KEY",
    Environment = Environment.Test
};
var client = new Client(config);

// Create the request object(s)
PaymentInstrumentUpdateRequest paymentInstrumentUpdateRequest = new PaymentInstrumentUpdateRequest
{
  StatusReason = PaymentInstrumentUpdateRequest.StatusReasonEnum.Lost,
  Status = PaymentInstrumentUpdateRequest.StatusEnum.Suspended
};

// Make the API call
var service = new PaymentInstrumentsService(client);
var response = service.UpdatePaymentInstrument("id", paymentInstrumentUpdateRequest);
```

#### NodeJS (JavaScript)

```js
// Adyen Node API Library v16.2.0
// Require the parts of the module you want to use
const { Client, BalancePlatformAPI } = require('@adyen/api-library');
// Initialize the client object
const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"});

// Create the request object(s)
const paymentInstrumentUpdateRequest = {
  status: "suspended",
  statusReason: "lost"
}

// Make the API call
const balancePlatformAPI = new BalancePlatformAPI(client);
const response = balancePlatformAPI.PaymentInstrumentsApi.updatePaymentInstrument("id", paymentInstrumentUpdateRequest);
```

#### Go

```go
// Adyen Go API Library v9.3.0
import (
  "context"
  "github.com/adyen/adyen-go-api-library/v9/src/common"
  "github.com/adyen/adyen-go-api-library/v9/src/adyen"
  "github.com/adyen/adyen-go-api-library/v9/src/balancePlatform"
)
client := adyen.NewClient(&common.Config{
  ApiKey:      "ADYEN_API_KEY",
  Environment: common.TestEnv,
})

// Create the request object(s)
paymentInstrumentUpdateRequest := balancePlatform.PaymentInstrumentUpdateRequest{
  StatusReason: common.PtrString("lost"),
  Status: common.PtrString("suspended"),
}

// Make the API call
service := client.BalancePlatform()
req := service.PaymentInstrumentsApi.UpdatePaymentInstrumentInput("id").PaymentInstrumentUpdateRequest(paymentInstrumentUpdateRequest)
res, httpRes, err := service.PaymentInstrumentsApi.UpdatePaymentInstrument(context.Background(), req)
```

#### Python

```py
# Adyen Python API Library v12.2.0
import Adyen

adyen = Adyen.Adyen()
adyen.client.xapikey = "ADYEN_API_KEY"
adyen.client.platform = "test" # The environment to use library in.

# Create the request object(s)
json_request = {
  "status": "suspended",
  "statusReason": "lost"
}

# Make the API call
result = adyen.balancePlatform.payment_instruments_api.update_payment_instrument(request=json_request, id="id")
```

#### Ruby

```rb
# Adyen Ruby API Library v9.3.0
require "adyen-ruby-api-library"

adyen = Adyen::Client.new
adyen.api_key = 'ADYEN_API_KEY'
adyen.env = :test # Set to "live" for live environment

# Create the request object(s)
request_body = {
  :status => 'suspended',
  :statusReason => 'lost'
}

# Make the API call
result = adyen.balancePlatform.payment_instruments_api.update_payment_instrument(request_body, 'id')
```

#### NodeJS (TypeScript)

```ts
// Adyen Node API Library v16.2.0
// Require the parts of the module you want to use
import { Client, BalancePlatformAPI, Types } from "@adyen/api-library";
// Initialize the client object
const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"});

// Create the request object(s)
const paymentInstrumentUpdateRequest: Types.balancePlatform.PaymentInstrumentUpdateRequest = {
  statusReason: Types.balancePlatform.PaymentInstrumentUpdateRequest.StatusReasonEnum.Lost,
  status: Types.balancePlatform.PaymentInstrumentUpdateRequest.StatusEnum.Suspended
};

// Make the API call
const balancePlatformAPI = new BalancePlatformAPI(client);
const response = balancePlatformAPI.PaymentInstrumentsApi.updatePaymentInstrument("id", paymentInstrumentUpdateRequest);
```

The card can no longer be used for payments. To re-enable payments, you need to [set the `status` back to **active**](#activate-card).

## Close a card

Closing a card is a permanent action and cannot be reversed. If you want to temporarily prevent processing, you can [suspend the card](#suspend-card) instead.

You can close cards using the Balance Platform API or Customer Area.

### Tab: Customer Area

To close a card:

1. Log in to the [Customer Area](https://ca-test.adyen.com/).
2. Go to **Financial products** > **Payment instruments**.
3. Select the appropriate payment instrument from the list.
4. Select **Change card status** in the upper right corner.
5. In the pop-up window, set the **New Status** to **Closed**.
6. In the **Reason** dropdown list, select the appropriate reason for the status change.
7. Select **Change status**.

### Tab: API

To close a card, make a PATCH [/paymentInstruments/{id}](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/patch/paymentInstruments/{id}) request with the following parameters:

* `status`: **closed**.
* `statusReason`: **lost**, **stolen**, **damaged**, **suspectedFraud**, **endOfLife**, or **accountClosure**.

Here is an example of how you close a card with payment instrument `id` **PI3227C223222B5BPCMFXD2XG**:

**Close a card**

#### curl

```bash
curl https://balanceplatform-api-test.adyen.com/bcl/v2/paymentInstruments/PI3227C223222B5BPCMFXD2XG \
-H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \
-H 'content-type: application/json' \
-X PATCH \
-d '{
    "status":"closed",
    "statusReason":"endOfLife"
}'
```

#### Java

```java
// Adyen Java API Library v25.0.0
import com.adyen.Client;
import com.adyen.enums.Environment;
import com.adyen.model.balancePlatform.*;
import java.time.OffsetDateTime;
import java.util.*;
import com.adyen.service.balancePlatform.*;

Client client = new Client("ADYEN_API_KEY", Environment.TEST);

// Create the request object(s)
PaymentInstrumentUpdateRequest paymentInstrumentUpdateRequest = new PaymentInstrumentUpdateRequest()
  .statusReason(PaymentInstrumentUpdateRequest.StatusReasonEnum.ENDOFLIFE)
  .status(PaymentInstrumentUpdateRequest.StatusEnum.CLOSED);

// Make the API call
PaymentInstrumentsApi service = new PaymentInstrumentsApi(client);
UpdatePaymentInstrument response = service.updatePaymentInstrument("id", paymentInstrumentUpdateRequest, null);
```

#### PHP

```php
// Adyen PHP API Library v17.4.0
use Adyen\Client;
use Adyen\Environment;
use Adyen\Model\BalancePlatform\PaymentInstrumentUpdateRequest;
use Adyen\Service\BalancePlatform\PaymentInstrumentsApi;

$client = new Client();
$client->setXApiKey("ADYEN_API_KEY");
$client->setEnvironment(Environment::TEST);


// Create the request object(s)
$paymentInstrumentUpdateRequest = new PaymentInstrumentUpdateRequest();
$paymentInstrumentUpdateRequest
  ->setStatusReason("endOfLife")
  ->setStatus("closed");

// Make the API call
$service = new PaymentInstrumentsApi($client);
$response = $service->updatePaymentInstrument('id', $paymentInstrumentUpdateRequest);
```

#### C\#

```cs
// Adyen .net API Library v14.4.0
using Adyen;
using Environment = Adyen.Model.Environment;
using Adyen.Model;
using Adyen.Model.BalancePlatform;
using Adyen.Service.BalancePlatform;

var config = new Config()
{
    XApiKey = "ADYEN_API_KEY",
    Environment = Environment.Test
};
var client = new Client(config);

// Create the request object(s)
PaymentInstrumentUpdateRequest paymentInstrumentUpdateRequest = new PaymentInstrumentUpdateRequest
{
  StatusReason = PaymentInstrumentUpdateRequest.StatusReasonEnum.EndOfLife,
  Status = PaymentInstrumentUpdateRequest.StatusEnum.Closed
};

// Make the API call
var service = new PaymentInstrumentsService(client);
var response = service.UpdatePaymentInstrument("id", paymentInstrumentUpdateRequest);
```

#### NodeJS (JavaScript)

```js
// Adyen Node API Library v16.2.0
// Require the parts of the module you want to use
const { Client, BalancePlatformAPI } = require('@adyen/api-library');
// Initialize the client object
const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"});

// Create the request object(s)
const paymentInstrumentUpdateRequest = {
  status: "closed",
  statusReason: "endOfLife"
}

// Make the API call
const balancePlatformAPI = new BalancePlatformAPI(client);
const response = balancePlatformAPI.PaymentInstrumentsApi.updatePaymentInstrument("id", paymentInstrumentUpdateRequest);
```

#### Go

```go
// Adyen Go API Library v9.3.0
import (
  "context"
  "github.com/adyen/adyen-go-api-library/v9/src/common"
  "github.com/adyen/adyen-go-api-library/v9/src/adyen"
  "github.com/adyen/adyen-go-api-library/v9/src/balancePlatform"
)
client := adyen.NewClient(&common.Config{
  ApiKey:      "ADYEN_API_KEY",
  Environment: common.TestEnv,
})

// Create the request object(s)
paymentInstrumentUpdateRequest := balancePlatform.PaymentInstrumentUpdateRequest{
  StatusReason: common.PtrString("endOfLife"),
  Status: common.PtrString("closed"),
}

// Make the API call
service := client.BalancePlatform()
req := service.PaymentInstrumentsApi.UpdatePaymentInstrumentInput("id").PaymentInstrumentUpdateRequest(paymentInstrumentUpdateRequest)
res, httpRes, err := service.PaymentInstrumentsApi.UpdatePaymentInstrument(context.Background(), req)
```

#### Python

```py
# Adyen Python API Library v12.2.0
import Adyen

adyen = Adyen.Adyen()
adyen.client.xapikey = "ADYEN_API_KEY"
adyen.client.platform = "test" # The environment to use library in.

# Create the request object(s)
json_request = {
  "status": "closed",
  "statusReason": "endOfLife"
}

# Make the API call
result = adyen.balancePlatform.payment_instruments_api.update_payment_instrument(request=json_request, id="id")
```

#### Ruby

```rb
# Adyen Ruby API Library v9.3.0
require "adyen-ruby-api-library"

adyen = Adyen::Client.new
adyen.api_key = 'ADYEN_API_KEY'
adyen.env = :test # Set to "live" for live environment

# Create the request object(s)
request_body = {
  :status => 'closed',
  :statusReason => 'endOfLife'
}

# Make the API call
result = adyen.balancePlatform.payment_instruments_api.update_payment_instrument(request_body, 'id')
```

#### NodeJS (TypeScript)

```ts
// Adyen Node API Library v16.2.0
// Require the parts of the module you want to use
import { Client, BalancePlatformAPI, Types } from "@adyen/api-library";
// Initialize the client object
const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"});

// Create the request object(s)
const paymentInstrumentUpdateRequest: Types.balancePlatform.PaymentInstrumentUpdateRequest = {
  statusReason: Types.balancePlatform.PaymentInstrumentUpdateRequest.StatusReasonEnum.EndOfLife,
  status: Types.balancePlatform.PaymentInstrumentUpdateRequest.StatusEnum.Closed
};

// Make the API call
const balancePlatformAPI = new BalancePlatformAPI(client);
const response = balancePlatformAPI.PaymentInstrumentsApi.updatePaymentInstrument("id", paymentInstrumentUpdateRequest);
```

The card can no longer be used for payments.

## View card payments

You can view all payments made with a card in the Customer Area.

1. Log in to the [Customer Area](https://ca-test.adyen.com/).
2. Go to **Financial products** > **Payment instruments**.
3. Select the appropriate payment instrument from the list.
4. Select **View payments** in the upper right corner.

A list is shown, displaying all payments made with the card. By default, the results are filtered to the last 6 months.

## Next steps

[required](/issuing/authorisation)

[Process payments](/issuing/authorisation)

[Learn how to handle payments made with Adyen-issued cards.](/issuing/authorisation)

[Create cards](/issuing/create-cards)

[Create cards for your users.](/issuing/create-cards)
