> For the complete documentation index, see [llms.txt](https://apidocs.juicefin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apidocs.juicefin.com/apis/transactions/reverse-fee.md).

# Reverse Fee

## Reverse Fee

The Reverse Fee API allows to rebate fee for a specific card.

## Input Parameters:

| Name                   | Required | Definition                                                                                                                                            | Comments                                                                                                        |
| ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| Amount                 | Y        | <p>Format: Numeric, 1-9<br>Description: The amount is in cents.</p>                                                                                   | relevant only if Reason Category is Good Will / User Error /System Error/ Other                                 |
| BulkFee                | N        | Options: Y/N(default)                                                                                                                                 | relevant if ReferenceIDType= CardSessionID or not provided                                                      |
| CardNumber             | C        | Format: Numeric, 16                                                                                                                                   | Deprecated. Will be removed in the future                                                                       |
| ID                     | C        | <p>Format: Numeric, 1-19<br>Description:<br>Input should be RPID in case IDType = RPID<br>Input should be Card Number in case IDType = CardNumber</p> |                                                                                                                 |
| IDType                 | C        | <p>Format options:<br>CardNumber<br>RPID<br>SavingAccount</p>                                                                                         |                                                                                                                 |
| ContextTransactionCode | N        | <p>Format: Alphanumeric, 6<br>Validation: A/P/X-P-0..9-0..9-I/D-S/R/F (Praxell code)</p>                                                              | Required only if Reason Category is User Error / System Error / Other. relevant if Reason Category is Good Will |
| Description            | N        | Format: 10-500, Supported characters: Blank a-z A-Z 0-9 . , # $ ( ) / : ? - % + \*                                                                    | & ; @ ! \~ = \_ \ '                                                                                             |
| ReasonCategory         | Y        | <p>Format options:<br>GoodWill<br>UserError<br>SystemError<br>Other<br>TransactionFee<br>Automatic (currently not used)</p>                           | The reason category param is used as well to define the permission and the Praxell code                         |
| ReferenceId            | N        | <p>Format: Alphanumeric, 30<br>Description: Allows the reverse fee to connect to the specific card session ID</p>                                     | Contains cardsessionID Or transactionID. Required if Reason Category is TransactionFee                          |
| ReferenceIDType        | N        | <p>Options:<br>CardSessionID (default) TransactionID</p>                                                                                              | relevant only if Reason Category= TransactionFee                                                                |

## Output Parameters:

## XML Samples

### Input XML

```json
<?xml version="1.0" ?>
<PraxellXMLRequest>
 <AuthenticationDetails>
    <UserName></UserName>
    <UserPassword></UserPassword>
 </AuthenticationDetails> 
    <ClientSourceIP></ClientSourceIP>
 <ServiceDetails>
    <ServiceName>ReverseFee</ServiceName>
    <UniqueRequestId>1212121212121213</UniqueRequestId>
 </ServiceDetails>
 <Origin>
   <OriginType>ExtAPI</OriginType>
 </Origin>
 <ServiceParams>
   <ID></ID>
   <IDType></IDType>
   <Description>Test Reverse Fee</Description>
   <Amount>100</Amount>
   <ReasonCategory>Good Will</ReasonCategory>
   <ContextTransactionCode>XP66DS</ContextTransactionCode>
   <ReferenceId>997654329</ReferenceId>     
 </ServiceParams>
</PraxellXMLRequest>
```

```json
<?xml version="1.0" ?> 
<PraxellXMLResponse>
  <ResponseDetails>
    <ServiceName>reversefee</ServiceName> 
    <SessionId></SessionId> 
    <StatusCode></StatusCode> 
    <StatusName></StatusName> 
    <StatusDescription>NA</StatusDescription> 
    <ServiceDate></ServiceDate> 
    <ServiceId></ServiceId> 
  </ResponseDetails>
  <ResponseParams>
 </ResponseParams>
</PraxellXMLResponse>
```

```json
<?xml version="1.0"?>
<PraxellXMLResponse>
  <ResponseDetails>
    <ServiceName>ReverseFee</ServiceName>
    <SessionId>07071612200737105</SessionId>
    <StatusCode>70029</StatusCode>
    <StatusName>Data not found (cardholder not found)</StatusName>
    <StatusDescription>Data not found (cardholder not found)</StatusDescription>
    <ServiceDate>2021-10-01 12:37:50</ServiceDate>
    <ServiceId>07071612200737105</ServiceId>
  </ResponseDetails>
  <ResponseParams>
  </ResponseParams>
</PraxellXMLResponse>
```
