---
title: "Create fee V2"
method: POST
path: "/v2/fee"
tags: ["Fees V2"]
---

# Create fee V2

`POST /v2/fee`

## Request

- Base URL: `https://sandbox.pismolabs.io/disputes`
- URL: `https://sandbox.pismolabs.io/disputes/v2/fee`
- Auth: HTTP bearer

A fee, or *fee collection* in network terminology, allows acquirers and issuers to exchange money outside the standard chargeback process. Typically, this means reversing a settled chargeback, but not always.

You can use this endpoint to create a fee collection/funds disbursement with or without a chargeback **case number**.

You can create a fee collection/funds disbursement for an existing **case**, or, if it doesn't exist, you can provide the necessary transaction/card information to create it.

The main differences between fees V2 and V1 are:
  * V1&mdash;Associated with the dispute/installment
  * V2&mdash;Can only be created with transaction ID (Full balance), transaction information (Zero balance), card ID and customer ID, or NetworkCaseID (VisaCaseNumber).

For more information, refer to [Dispute fees](https://developers.pismo.io/pismo-docs/docs/disputes-overview#dispute-fees) in the Disputes overview guide. 

This feature is **only** currently available for **Visa**.

**Note:** This endpoint takes an account token - an access token encoded with a Pismo account ID. Tokens can expire quickly, which can result in a <b>401 Unauthorized</b> message.

## Headers

- `Authorization` string, required

## Request body

- union
  - CreateVisaFeeFromTransactionFullBalance
    - `network_brand_type` 'Visa', required: Card network brand. Currently, only `Visa`.
    - `transaction_id` number, required: Pismo transaction ID.
    - `currency` string, required: ISO-4217 currency code.
    - `amount` number, double, required: Fee amount.
    - `credit_sender` boolean, required: Credit the sender? Default is `false`.
    - `credit_receiver` boolean, required: Should receiver be credited?
    - `fee` VisaFee, required
      - `Reason` '100' | '110' | '130' | '140' | '150' | '170' | '200' | '210' | '220' | '230' | '240' | '250' | '350' | '401' | '402', required: Fee reason code.<br> `100`&mdash;Telecommunication charges (non-US)<br> `110`&mdash;Auto telex charges (non-US)<br> `130`&mdash;Lost/stolen card report fees<br> `140`&mdash;Merchant service fees<br> `150`&mdash;Recovered Visa card, Electron card, or Visa Electron card. Handling fees/rewards. Non-US - Recovered card handling fee<br> `170`&mdash;Recovery of retrieval request fees. <br> `200`&mdash;Emergency replacement card distribution fee<br> `210`&mdash;Emergency cash disbursement handling fee<br> `220`&mdash;Arbitration/compliance/resolution case decision or filing fee<br> `230`&mdash;Incorrect merchant ID/transacton date handling<br> `240`&mdash;"Good faith" collection letter settlement funds disbursement. Non-US - Funds disbursement transactions<br> `250`&mdash;Cardholder does not recognize transacton chargeback handling fee.<br> `350`&mdash;Pre-arbitration/Pre-compliance settlement funds disbursement<br> `401`&mdash;Prepaid load revenue sharing<br> `402`&mdash;Non-US - Collection for an unsettled prepaid of original credit authorization<br> **Note:** This is from the Visa IES spreadsheet. This spreadsheet is updated every 6 months or so. Check periodically with Visa for latest fee reason codes.
      - `Message` string, nullable, required: Fee message. 70 chars maximum.
      - `EventDate` string: Use this field to pass: - Date the card was recovered (Reason 150) - Collection letter date (Reason 240) - Pre-Compliance / Pre-Arbitration Letter Date (Reason 350) **REQUIRED** when `Reason` is `150`, `240`, or `350` (US domestic); otherwise, it is not valid. Format = yyyy-mm-dd
  - CreateVisaFeeFromTransactionZeroBalance
    - `network_brand_type` 'Visa', required: Card network brand. Currently, only `Visa`.
    - `arn` string, nullable, required: Acquirer Reference Number (ARN).
    - `transaction_amount` number, required: Transaction amount
    - `transaction_date` string, nullable, required: Transaction date, format = yyyy-mm-dd.
    - `currency` string, required: ISO-4217 currency code.
    - `amount` number, double, required: Fee amount.
    - `credit_sender` boolean, required: Credit the sender? Default is `false`.
    - `credit_receiver` boolean, required: Should receiver be credited?
    - `fee` VisaFee, required
      - `Reason` '100' | '110' | '130' | '140' | '150' | '170' | '200' | '210' | '220' | '230' | '240' | '250' | '350' | '401' | '402', required: Fee reason code.<br> `100`&mdash;Telecommunication charges (non-US)<br> `110`&mdash;Auto telex charges (non-US)<br> `130`&mdash;Lost/stolen card report fees<br> `140`&mdash;Merchant service fees<br> `150`&mdash;Recovered Visa card, Electron card, or Visa Electron card. Handling fees/rewards. Non-US - Recovered card handling fee<br> `170`&mdash;Recovery of retrieval request fees. <br> `200`&mdash;Emergency replacement card distribution fee<br> `210`&mdash;Emergency cash disbursement handling fee<br> `220`&mdash;Arbitration/compliance/resolution case decision or filing fee<br> `230`&mdash;Incorrect merchant ID/transacton date handling<br> `240`&mdash;"Good faith" collection letter settlement funds disbursement. Non-US - Funds disbursement transactions<br> `250`&mdash;Cardholder does not recognize transacton chargeback handling fee.<br> `350`&mdash;Pre-arbitration/Pre-compliance settlement funds disbursement<br> `401`&mdash;Prepaid load revenue sharing<br> `402`&mdash;Non-US - Collection for an unsettled prepaid of original credit authorization<br> **Note:** This is from the Visa IES spreadsheet. This spreadsheet is updated every 6 months or so. Check periodically with Visa for latest fee reason codes.
      - `Message` string, nullable, required: Fee message. 70 chars maximum.
      - `EventDate` string: Use this field to pass: - Date the card was recovered (Reason 150) - Collection letter date (Reason 240) - Pre-Compliance / Pre-Arbitration Letter Date (Reason 350) **REQUIRED** when `Reason` is `150`, `240`, or `350` (US domestic); otherwise, it is not valid. Format = yyyy-mm-dd
  - CreateVisaFeeFromCard
    - `network_brand_type` 'Visa', required: Card network brand. Currently, only `Visa`.
    - `card_id` number, required: Pismo card ID.
    - `customer_id` number, required: Pismo customer ID.
    - `currency` string, required: ISO-4217 currency code.
    - `amount` number, double, required: Fee amount.
    - `credit_sender` boolean, required: Credit the sender? Default is `false`.
    - `credit_receiver` boolean, required: Should receiver be credited?
    - `fee` VisaFeeCard, required
      - `Reason` '100' | '110' | '130' | '140' | '150' | '170' | '200' | '210' | '220' | '230' | '240' | '250' | '350' | '401' | '402', required: Fee reason code.<br> `100`&mdash;Telecommunication charges (non-US)<br> `110`&mdash;Auto telex charges (non-US)<br> `130`&mdash;Lost/stolen card report fees<br> `140`&mdash;Merchant service fees<br> `150`&mdash;Recovered Visa card, Electron card, or Visa Electron card. Handling fees/rewards. Non-US - Recovered card handling fee<br> `170`&mdash;Recovery of retrieval request fees. <br> `200`&mdash;Emergency replacement card distribution fee<br> `210`&mdash;Emergency cash disbursement handling fee<br> `220`&mdash;Arbitration/compliance/resolution case decision or filing fee<br> `230`&mdash;Incorrect merchant ID/transacton date handling<br> `240`&mdash;"Good faith" collection letter settlement funds disbursement. Non-US - Funds disbursement transactions<br> `250`&mdash;Cardholder does not recognize transacton chargeback handling fee.<br> `350`&mdash;Pre-arbitration/Pre-compliance settlement funds disbursement<br> `401`&mdash;Prepaid load revenue sharing<br> `402`&mdash;Non-US - Collection for an unsettled prepaid of original credit authorization<br> **Note:** This is from the Visa IES spreadsheet. This spreadsheet is updated every 6 months or so. Check periodically with Visa for latest fee reason codes.
      - `Message` string, nullable, required: Fee message. 70 chars maximum.
      - `DestinationBin` string, nullable, required: This is the BIN that represents the organization who will receive the Fee Collection/Funds Disbursement. **REQUIRED** when use `card_id` and `customer_id`
      - `EventDate` string: Use this field to pass: - Date the card was recovered (Reason 150) - Collection letter date (Reason 240) - Pre-Compliance / Pre-Arbitration Letter Date (Reason 350) **REQUIRED** when `Reason` is `150`, `240`, or `350` (US domestic); otherwise, it is not valid. Format = yyyy-mm-dd
  - CreateVisaFeeFromNetworkCaseID
    - `network_brand_type` 'Visa', required: Card network brand. Currently, only `Visa`.
    - `network_case_id` string, nullable, required: Network case ID.
    - `currency` string, required: ISO-4217 currency code.
    - `amount` number, double, required: Fee amount.
    - `credit_sender` boolean, required: Credit the sender? Default is `false`.
    - `credit_receiver` boolean, required: Should receiver be credited?
    - `fee` VisaFee, required
      - `Reason` '100' | '110' | '130' | '140' | '150' | '170' | '200' | '210' | '220' | '230' | '240' | '250' | '350' | '401' | '402', required: Fee reason code.<br> `100`&mdash;Telecommunication charges (non-US)<br> `110`&mdash;Auto telex charges (non-US)<br> `130`&mdash;Lost/stolen card report fees<br> `140`&mdash;Merchant service fees<br> `150`&mdash;Recovered Visa card, Electron card, or Visa Electron card. Handling fees/rewards. Non-US - Recovered card handling fee<br> `170`&mdash;Recovery of retrieval request fees. <br> `200`&mdash;Emergency replacement card distribution fee<br> `210`&mdash;Emergency cash disbursement handling fee<br> `220`&mdash;Arbitration/compliance/resolution case decision or filing fee<br> `230`&mdash;Incorrect merchant ID/transacton date handling<br> `240`&mdash;"Good faith" collection letter settlement funds disbursement. Non-US - Funds disbursement transactions<br> `250`&mdash;Cardholder does not recognize transacton chargeback handling fee.<br> `350`&mdash;Pre-arbitration/Pre-compliance settlement funds disbursement<br> `401`&mdash;Prepaid load revenue sharing<br> `402`&mdash;Non-US - Collection for an unsettled prepaid of original credit authorization<br> **Note:** This is from the Visa IES spreadsheet. This spreadsheet is updated every 6 months or so. Check periodically with Visa for latest fee reason codes.
      - `Message` string, nullable, required: Fee message. 70 chars maximum.
      - `EventDate` string: Use this field to pass: - Date the card was recovered (Reason 150) - Collection letter date (Reason 240) - Pre-Compliance / Pre-Arbitration Letter Date (Reason 350) **REQUIRED** when `Reason` is `150`, `240`, or `350` (US domestic); otherwise, it is not valid. Format = yyyy-mm-dd

## Response `201`

Created

- union
  - FeeResponseFromTransactionFullBalance
    - `fee_id` number: Pismo fee ID.
    - `org_id` string: Organization/tenant ID.
    - `account_id` number: Pismo account ID
    - `network_brand_type` 'Visa': Card network brand. Currently, only `Visa`.
    - `transaction_id` number: Pismo transaction ID.
    - `arn` string, nullable: Acquirer Reference Number (ARN).
    - `transaction_amount` number: Transaction amount
    - `transaction_date` string, nullable: Transaction date, format = yyyy-mm-dd.
    - `currency` string: ISO-4217 currency code.
    - `amount` number, double: Fee amount.
    - `credit_sender` boolean: Credit the sender? Default is `false`.
    - `credit_receiver` boolean: Should receiver be credited?
    - `fee` VisaFeeResponse
      - `Reason` '100' | '110' | '130' | '140' | '150' | '170' | '200' | '210' | '220' | '230' | '240' | '250' | '350' | '401' | '402': Fee reason code.<br> `100`&mdash;Telecommunication charges (non-US)<br> `110`&mdash;Auto telex charges (non-US)<br> `130`&mdash;Lost/stolen card report fees<br> `140`&mdash;Merchant service fees<br> `150`&mdash;Recovered Visa card, Electron card, or Visa Electron card. Handling fees/rewards. Non-US - Recovered card handling fee<br> `170`&mdash;Recovery of retrieval request fees. <br> `200`&mdash;Emergency replacement card distribution fee<br> `210`&mdash;Emergency cash disbursement handling fee<br> `220`&mdash;Arbitration/compliance/resolution case decision or filing fee<br> `230`&mdash;Incorrect merchant ID/transacton date handling<br> `240`&mdash;"Good faith" collection letter settlement funds disbursement. Non-US - Funds disbursement transactions<br> `250`&mdash;Cardholder does not recognize transacton chargeback handling fee.<br> `350`&mdash;Pre-arbitration/Pre-compliance settlement funds disbursement<br> `401`&mdash;Prepaid load revenue sharing<br> `402`&mdash;Non-US - Collection for an unsettled prepaid of original credit authorization<br> **Note:** This is from the Visa IES spreadsheet. This spreadsheet is updated every 6 months or so. Check periodically with Visa for latest fee reason codes.
      - `Message` string, nullable: Fee message. 70 chars maximum.
      - `EventDate` string: Use this field to pass: - Date the card was recovered (Reason 150) - Collection letter date (Reason 240) - Pre-Compliance / Pre-Arbitration Letter Date (Reason 350) **REQUIRED** when `Reason` is `150`, `240`, or `350` (US domestic); otherwise, it is not valid. Format = yyyy-mm-dd
    - `created_at` string: Created at datetime, format = yyyy-mm-dd hh:mm:ss"
    - `source` 'ISSUER' | 'ACQUIRER': Who initiated the fee.
    - `status` 'PENDING' | 'FAILED' | 'WAITING_NETWORK' | 'PROCESSED' | 'REJECTED': Fee status:<br> - `PENDING`&mdash;The fee creation request has been received and is awaiting Pismo processing within the network.<br> - `FAILED`&mdash;An error occurred while attempting to create the fee in the network. The operation was not completed.<br> - `WAITING_NETWORK`&mdash;The request has been successfully sent to the network and is currently awaiting a response.<br> - `PROCESSED`&mdash;The fee was successfully created and network-confirmed.<br> - `REJECTED`&mdash;The network declined the fee creation request.<br>
  - FeeResponseFromTransactionZeroBalance
    - `fee_id` number: Pismo fee ID.
    - `org_id` string: Organization/tenant ID.
    - `account_id` number: Pismo account ID
    - `network_brand_type` 'Visa': Card network brand. Currently, only `Visa`.
    - `arn` string, nullable: Acquirer Reference Number (ARN).
    - `transaction_amount` number: Transaction amount
    - `transaction_date` string, nullable: Transaction date, format = yyyy-mm-dd.
    - `currency` string: ISO-4217 currency code.
    - `amount` number, double: Fee amount.
    - `credit_sender` boolean: Credit the sender? Default is `false`.
    - `credit_receiver` boolean: Should receiver be credited?
    - `fee` VisaFeeResponse
      - `Reason` '100' | '110' | '130' | '140' | '150' | '170' | '200' | '210' | '220' | '230' | '240' | '250' | '350' | '401' | '402': Fee reason code.<br> `100`&mdash;Telecommunication charges (non-US)<br> `110`&mdash;Auto telex charges (non-US)<br> `130`&mdash;Lost/stolen card report fees<br> `140`&mdash;Merchant service fees<br> `150`&mdash;Recovered Visa card, Electron card, or Visa Electron card. Handling fees/rewards. Non-US - Recovered card handling fee<br> `170`&mdash;Recovery of retrieval request fees. <br> `200`&mdash;Emergency replacement card distribution fee<br> `210`&mdash;Emergency cash disbursement handling fee<br> `220`&mdash;Arbitration/compliance/resolution case decision or filing fee<br> `230`&mdash;Incorrect merchant ID/transacton date handling<br> `240`&mdash;"Good faith" collection letter settlement funds disbursement. Non-US - Funds disbursement transactions<br> `250`&mdash;Cardholder does not recognize transacton chargeback handling fee.<br> `350`&mdash;Pre-arbitration/Pre-compliance settlement funds disbursement<br> `401`&mdash;Prepaid load revenue sharing<br> `402`&mdash;Non-US - Collection for an unsettled prepaid of original credit authorization<br> **Note:** This is from the Visa IES spreadsheet. This spreadsheet is updated every 6 months or so. Check periodically with Visa for latest fee reason codes.
      - `Message` string, nullable: Fee message. 70 chars maximum.
      - `EventDate` string: Use this field to pass: - Date the card was recovered (Reason 150) - Collection letter date (Reason 240) - Pre-Compliance / Pre-Arbitration Letter Date (Reason 350) **REQUIRED** when `Reason` is `150`, `240`, or `350` (US domestic); otherwise, it is not valid. Format = yyyy-mm-dd
    - `created_at` string: Created at datetime, format = yyyy-mm-dd hh:mm:ss"
    - `source` 'ISSUER' | 'ACQUIRER': Who initiated the fee.
    - `status` 'PENDING' | 'FAILED' | 'WAITING_NETWORK' | 'PROCESSED' | 'REJECTED': Fee status:<br> - `PENDING`&mdash;The fee creation request has been received and is awaiting Pismo processing within the network.<br> - `FAILED`&mdash;An error occurred while attempting to create the fee in the network. The operation was not completed.<br> - `WAITING_NETWORK`&mdash;The request has been successfully sent to the network and is currently awaiting a response.<br> - `PROCESSED`&mdash;The fee was successfully created and network-confirmed.<br> - `REJECTED`&mdash;The network declined the fee creation request.<br>
  - FeeResponseFromCard
    - `fee_id` number: Pismo fee ID.
    - `org_id` string: Organization/tenant ID.
    - `account_id` number: Pismo account ID
    - `network_brand_type` 'Visa': Card network brand. Currently, only `Visa`.
    - `currency` string: ISO-4217 currency code.
    - `amount` number, double: Fee amount.
    - `credit_sender` boolean: Credit the sender? Default is `false`.
    - `credit_receiver` boolean: Should receiver be credited?
    - `card_id` number: Pismo card ID.
    - `fee` VisaFeeCardResponse
      - `Reason` '100' | '110' | '130' | '140' | '150' | '170' | '200' | '210' | '220' | '230' | '240' | '250' | '350' | '401' | '402': Fee reason code.<br> `100`&mdash;Telecommunication charges (non-US)<br> `110`&mdash;Auto telex charges (non-US)<br> `130`&mdash;Lost/stolen card report fees<br> `140`&mdash;Merchant service fees<br> `150`&mdash;Recovered Visa card, Electron card, or Visa Electron card. Handling fees/rewards. Non-US - Recovered card handling fee<br> `170`&mdash;Recovery of retrieval request fees. <br> `200`&mdash;Emergency replacement card distribution fee<br> `210`&mdash;Emergency cash disbursement handling fee<br> `220`&mdash;Arbitration/compliance/resolution case decision or filing fee<br> `230`&mdash;Incorrect merchant ID/transacton date handling<br> `240`&mdash;"Good faith" collection letter settlement funds disbursement. Non-US - Funds disbursement transactions<br> `250`&mdash;Cardholder does not recognize transacton chargeback handling fee.<br> `350`&mdash;Pre-arbitration/Pre-compliance settlement funds disbursement<br> `401`&mdash;Prepaid load revenue sharing<br> `402`&mdash;Non-US - Collection for an unsettled prepaid of original credit authorization<br> **Note:** This is from the Visa IES spreadsheet. This spreadsheet is updated every 6 months or so. Check periodically with Visa for latest fee reason codes.
      - `Message` string, nullable: Fee message. 70 chars maximum.
      - `DestinationBin` string, nullable: This is the BIN that represents the organization who will receive the Fee Collection/Funds Disbursement. **REQUIRED** when use `card_id` and `customer_id`
      - `SourceBin` string, nullable: Bank Identification Number (BIN) of the organization that sends the fee collection/fund's disbursement.
      - `EventDate` string: Use this field to pass: - Date the card was recovered (Reason 150) - Collection letter date (Reason 240) - Pre-Compliance / Pre-Arbitration Letter Date (Reason 350) **REQUIRED** when `Reason` is `150`, `240`, or `350` (US domestic); otherwise, it is not valid. Format = yyyy-mm-dd
    - `created_at` string: Created at datetime, format = yyyy-mm-dd hh:mm:ss"
    - `source` 'ISSUER' | 'ACQUIRER': Who initiated the fee.
    - `status` 'PENDING' | 'FAILED' | 'WAITING_NETWORK' | 'PROCESSED' | 'REJECTED': Fee status:<br> - `PENDING`&mdash;The fee creation request has been received and is awaiting Pismo processing within the network.<br> - `FAILED`&mdash;An error occurred while attempting to create the fee in the network. The operation was not completed.<br> - `WAITING_NETWORK`&mdash;The request has been successfully sent to the network and is currently awaiting a response.<br> - `PROCESSED`&mdash;The fee was successfully created and network-confirmed.<br> - `REJECTED`&mdash;The network declined the fee creation request.<br>
  - FeeResponseFromNetworkCaseID
    - `fee_id` number: Pismo fee ID.
    - `org_id` string: Organization/tenant ID.
    - `account_id` number: Pismo account ID
    - `network_brand_type` 'Visa': Card network brand. Currently, only `Visa`.
    - `currency` string: ISO-4217 currency code.
    - `amount` number, double: Fee amount.
    - `credit_sender` boolean: Credit the sender? Default is `false`.
    - `credit_receiver` boolean: Should receiver be credited?
    - `network_case_id` string, nullable: Network case ID.
    - `fee` VisaFeeResponse
      - `Reason` '100' | '110' | '130' | '140' | '150' | '170' | '200' | '210' | '220' | '230' | '240' | '250' | '350' | '401' | '402': Fee reason code.<br> `100`&mdash;Telecommunication charges (non-US)<br> `110`&mdash;Auto telex charges (non-US)<br> `130`&mdash;Lost/stolen card report fees<br> `140`&mdash;Merchant service fees<br> `150`&mdash;Recovered Visa card, Electron card, or Visa Electron card. Handling fees/rewards. Non-US - Recovered card handling fee<br> `170`&mdash;Recovery of retrieval request fees. <br> `200`&mdash;Emergency replacement card distribution fee<br> `210`&mdash;Emergency cash disbursement handling fee<br> `220`&mdash;Arbitration/compliance/resolution case decision or filing fee<br> `230`&mdash;Incorrect merchant ID/transacton date handling<br> `240`&mdash;"Good faith" collection letter settlement funds disbursement. Non-US - Funds disbursement transactions<br> `250`&mdash;Cardholder does not recognize transacton chargeback handling fee.<br> `350`&mdash;Pre-arbitration/Pre-compliance settlement funds disbursement<br> `401`&mdash;Prepaid load revenue sharing<br> `402`&mdash;Non-US - Collection for an unsettled prepaid of original credit authorization<br> **Note:** This is from the Visa IES spreadsheet. This spreadsheet is updated every 6 months or so. Check periodically with Visa for latest fee reason codes.
      - `Message` string, nullable: Fee message. 70 chars maximum.
      - `EventDate` string: Use this field to pass: - Date the card was recovered (Reason 150) - Collection letter date (Reason 240) - Pre-Compliance / Pre-Arbitration Letter Date (Reason 350) **REQUIRED** when `Reason` is `150`, `240`, or `350` (US domestic); otherwise, it is not valid. Format = yyyy-mm-dd
    - `created_at` string: Created at datetime, format = yyyy-mm-dd hh:mm:ss"
    - `source` 'ISSUER' | 'ACQUIRER': Who initiated the fee.
    - `status` 'PENDING' | 'FAILED' | 'WAITING_NETWORK' | 'PROCESSED' | 'REJECTED': Fee status:<br> - `PENDING`&mdash;The fee creation request has been received and is awaiting Pismo processing within the network.<br> - `FAILED`&mdash;An error occurred while attempting to create the fee in the network. The operation was not completed.<br> - `WAITING_NETWORK`&mdash;The request has been successfully sent to the network and is currently awaiting a response.<br> - `PROCESSED`&mdash;The fee was successfully created and network-confirmed.<br> - `REJECTED`&mdash;The network declined the fee creation request.<br>

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `404`: Not found
- `422`: Unprocessable entity
- `500`: Internal server error
- `504`: Gateway timeout

---

[API](https://skmtc.dev/pismo/apis/card-issuing-disputes.md) - [All operations](https://skmtc.dev/pismo/apis/card-issuing-disputes/llms.txt) - [OpenAPI document](https://skmtc.dev/pismo/apis/card-issuing-disputes/revisions/53592b5468b6?raw)
