> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.mangopay.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.mangopay.com/_mcp/server.

# Simulate execution of a Bank Wire PayIn

POST https://api.sandbox.mangopay.com/v2.01/{ClientId}/simulation/payins/bankwire/{PayInId}
Content-Type: application/json

**Note – Sandbox only**

This endpoint is only available in the Sandbox environment, to simulate real-world bank wire payment.

Simulates the acceptance or rejection of an existing pre-declared bank wire pay-in (with `PaymentType` of `BANK_WIRE` and `ExecutionType` of `DIRECT`).

This call changes the pay-in's `Status` from `CREATED` to:

* `SUCCEEDED`, if `ACCEPT` is sent, and the pay-in amount is credited to the wallet. This simulates the arrival of funds on Mangopay's bank account and successful reconciliation.
* `FAILED`, if `REJECT` is sent, with the `ResultCode` `008500`. This simulates the rejection of the funds for anti-fraud reasons.

The `PayInId` must exist in Sandbox, have the `Status` of `CREATED`, and have an `Id` beginning with the prefix `payin_wf_` — pay-ins created before this endpoint's release use a different prefix and aren't supported. If the `PayInId` is not found, then a 404 response is returned.

Reference: https://docs.mangopay.com/api-reference/simulation/simulate-execution-bank-wire-payin

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token. If your platform is using a [proxy](/guides/sca/proxy-management) to take SCA-triggering action on behalf of users, you also need to integrate [mTLS authentication](/guides/sca/platform) and use the `api-mtls` base URL.

## Servers

- `https://api.sandbox.mangopay.com` (Sandbox, default)
- `https://api.mangopay.com` (Production)
- `https://api-mtls.sandbox.mangopay.com` (mTLS Sandbox)
- `https://api-mtls.mangopay.com` (mTLS Production)

## Request

### Path parameters

- `ClientId` (string, required) — Platform's API account identifier, associated with the API key.
- `PayInId` (string, required) — The unique identifier of the bank wire pay-in to simulate, which must: - Exist in the Sandbox environment. - Have the `Status` of `CREATED`. - Have an `Id` beginning with the prefix `payin_wf_`. Pay-ins created before this endpoint's release have a different prefix and are not supported.

### Body (application/json)

This endpoint expects a SimulateExecutionBankWirePayInRequest.

- `Action` (string, required) — **Allowed values:** `ACCEPT`, `REJECT` - `ACCEPT` – Simulates the arrival of funds on Mangopay's bank account and successful reconciliation, crediting the wallet with the pay-in amount and transitioning the pay-in's `Status` to `SUCCEEDED`. - `REJECT` – Simulates the pay-in being refused for anti-fraud reasons, transitioning the pay-in's `Status` to `FAILED` with the `ResultCode` `008500`.

## Response

### 200

Success

## Errors

### 404 Not Found Error

Not Found

- `Message` (string, optional) — Description of the error.
- `Type` (string, optional) — The category of the error.
- `Id` (string, optional) — Unique identifier of the error instance, useful when contacting Mangopay for support.
- `Date` (double, optional) — Unix timestamp (UTC) of the date and time the error was triggered.
- `errors` (map from string to string, optional, nullable) — Object containing one or more field-level errors.

## Examples

### Accept

**Request**

```json
{
  "body": {
    "Action": "ACCEPT"
  }
}
```

**Response**

```json
{}
```

### Reject

**Request**

```json
{
  "body": {
    "Action": "REJECT"
  }
}
```

**Response**

```json
{}
```