# Card to Card Transfer

## Card to Card Transfer

The Card to Card Transfer API allows a cardholder to transfer currency from one card to another.

## Input Parameters:

| Name                 | Required | Definition                                                                                                                                            | Comments                                                                                                                                                        |
| -------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Amount               | Y        | <p>Format: Numeric, 1-9<br>Description: The amount is in cents.</p>                                                                                   | amount>0                                                                                                                                                        |
| CardNumber           | C        | Format: Numeric, 16                                                                                                                                   | Mutually exclusive with From\To ID. Deprecated (use ID/ID Type). Should be paired only with TransferToCardNumber (and both will be discontinued in the future). |
| CurrencyCode         | Y        | <p>Format: Alphanumeric, 3<br>Description: Closed list of values.</p>                                                                                 | "USD"                                                                                                                                                           |
| DateOfBirth          | N        | <p>Format: yyyy-mm-dd<br>Description: Cardholder must be above 17 years old</p>                                                                       |                                                                                                                                                                 |
| Description          | N        | Format: Alphanumeric, 1-25                                                                                                                            |                                                                                                                                                                 |
| TransferToCardNumber | C        | Format: Numeric, 16                                                                                                                                   | Mutually exclusive with From\To ID. Deprecated (use ID/ID Type). Should be paired only with CardNumber (and both will be discontinued in the future)            |
| FromID               | 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> | Mutually exclusive with CardNumber. Required if FromIDType is provided. Also supports a DDA as an ID                                                            |
| FromIDType           | C        | <p>Format options:<br>CardNumber<br>RPID<br>SavingAccount</p>                                                                                         | relevant only for FromID parameter. Also supports "DDA" as ID Type                                                                                              |
| ToID                 | 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> | Mutually exclusive with TransferToCardNumber. Required if ToIDType is provided. Also supports a DDA as an ID                                                    |
| ToIDType             | C        | <p>Format options:<br>CardNumber<br>RPID<br>SavingAccount</p>                                                                                         | relevant only for ToID parameter. Also supports "DDA" as ID Type                                                                                                |

## Output Parameters:

| Name                 | Definition              | Failure Case | Success Case | Comments                                                                                 |
| -------------------- | ----------------------- | ------------ | ------------ | ---------------------------------------------------------------------------------------- |
| AmountTransfered     | Format: Numeric, 11     | Not returned | Returned     |                                                                                          |
| CardAvailableBalance | Format: Numeric, 11     | Not returned | Returned     | Balance of the card which has transferred the money (to another card) after the transfer |
| TransferBaseCurrency | Format: Alphanumeric, 3 | Not returned | Returned     |                                                                                          |
| TransferFee          | Format: Numeric, 11     | Not returned | Returned     |                                                                                          |
| TransferToCardNumber | Format: Numeric, 16     | Not returned | Returned     |                                                                                          |

## XML Samples

### Input XML

```json
<?xml version="1.0"?>
<PraxellXMLRequest>
  <AuthenticationDetails>
    <AuthCardNumber>1564560040718105</AuthCardNumber>
    <AuthPIN>4321</AuthPIN>
    <ClientSourceIP></ClientSourceIP> 
 </AuthenticationDetails>;
  <ServiceDetails>
    <UniqueRequestId>2135550</UniqueRequestId>
    <ServiceName>CardToCardTransfer</ServiceName>
  </ServiceDetails>
  <Origin>
    <OriginType>ExtAPI</OriginType>
  </Origin>
  <ServiceParams>
    <Amount>100</Amount>
    <CardNumber></CardNumber>
    <CurrencyCode>USD</CurrencyCode>
    <DateOfBirth></DateOfBirth>
    <Description></Description>
    <ID>1234567890123456</ID>
    <IDType>CardNumber</IDType>
    <TransferToCardNumber></TransferToCardNumber>
  </ServiceParams>
</PraxellXMLRequest>
```

```json
 <PraxellXMLResponse>
     <ResponseDetails>
        <ServiceName>CardToCardTransfer</ServiceName>
        <SessionId>37995606200814041</SessionId>
        <StatusCode>0</StatusCode>
        <StatusName>StatusOK</StatusName>
        <StatusDescription>NA</StatusDescription>
        <ServiceDate>2008-04-29 06:14:11</ServiceDate>
        <ServiceId>37995606200814041</ServiceId>
    </ResponseDetails>
  <ResponseParams>
    <AmountTransfered>100</AmountTransfered>
    <TransferBaseCurrency>USD</TransferBaseCurrency>
    <TransferFee></TransferFee>
    <TransferToCardNumber>9999999999998053</TransferToCardNumber>
    <CardAvailableBalance>1999</CardAvailableBalance>
   </ResponseParams>
</PraxellXMLResponse>
```

```json
<?xml version="1.0"?>
<PraxellXMLResponse>
  <ResponseDetails>
    <ServiceName>CardToCardTransfer</ServiceName>
    <SessionId>07071612200737105</SessionId>
    <StatusCode>45006</StatusCode>
    <StatusName>From Card Status Change Failure</StatusName>
    <StatusDescription>From Card Status Change Failure</StatusDescription>
    <ServiceDate>2021-10-01 12:37:50</ServiceDate>
    <ServiceId>07071612200737105</ServiceId>
  </ResponseDetails>
  <ResponseParams>
  </ResponseParams>
</PraxellXMLResponse>
```
