**Last updated**: 29 August 2024 | [**Change log**](/access/products/money-transfers/changelog/)

# Make a money transfer

Push funds to a card.

### Money transfer request

Withdraw funds from a digital wallet by sending a request to our `moneyTransfers:pushToCard` action link received in your [root resource response](/access/products/money-transfers/get-started#query-the-moneytransfers-root-resource) request.

Push to card money transfer is currently available for Visa money transfers via Visa Direct and Mastercard Send.

`POST` `https://try.access.worldpay-bsh.securedataplatform.com/moneyTransfers/pushToCard`

Push to card money transfer request body:

Money transfer (card)

```json
{
    "transactionReference":"Memory265-13/08/1876",
    "merchant":{
        "entity":"default"
    },
    "instruction":{
        "narrative":{
            "line1":"line1",
            "line2":"line2"
        },
        "value":{
            "amount":100,
            "currency":"GBP"
        },
        "recipient":{
            "firstName":"firstName",
            "lastName":"lastName",
            "paymentInstrument":{
                "type":"card/plain",
                "cardHolderName":"name",
                "cardNumber":"4300011000000006",
                "cardExpiryDate":{
                    "month":12,
                    "year":2040
                },
                "cvc": "123",
                "billingAddress":{
                    "address1":"address1",
                    "address2":"address2",
                    "address3":"address3",
                    "postalCode":"AB1 2CD",
                    "city":"city",
                    "state":"state",
                    "countryCode":"GB"
                }
            }
        }, 
        "sender":{
            "fundReference":"fundReference",
            "fundType":"nonStagedDigitalWallet"
        }
    }
}
```

Money transfer (token)

```json
{
    "transactionReference":"Memory265-13/08/1876",
    "merchant":{
        "entity":"default"
    },
    "instruction":{
        "narrative":{
            "line1":"line1",
            "line2":"line2"
        },
        "value":{
            "amount":100,
            "currency":"GBP"
        },
        "recipient":{
            "firstName":"firstName",
            "lastName":"lastName",
            "paymentInstrument":{
                "type":"card/tokenized",
                "href":"https://try.access.worldpay-bsh.securedataplatform.com/tokens/eyJrIjoxLCJkIjoieDJ4U05TRWo3MGZWQ042TzVrczVkNU5WbkxqYy9jU1J4di9mKzUyNlhGVjRyeUt6Z21BN3NxdDN6VEYxeWNieSJ9",
                "cvc": "123",
                "billingAddress":{
                    "address1":"address1",
                    "address2":"address2",
                    "address3":"address3",
                    "postalCode":"AB1 2CD",
                    "city":"city",
                    "state":"state",
                    "countryCode":"GB"
                }
            }
        }, 
        "sender":{
            "fundReference":"fundReference",
            "fundType":"nonStagedDigitalWallet"
        }
    }
}
```

#### Descriptions of your push to card money transfer request parameters:

| Parameter | Required | Description |
|  --- | --- | --- |
| `instruction` | ✅ | An object that contains all the information related to your money transfer request. |
| `instruction.recipient.paymentInstrument` | ✅ | An object that contains your recipient's money transfer details. |
| `paymentInstrument.type` | ✅ | An object that contains your recipient's money transfer type. Possible values: `card/plain``card/tokenized` |
| `paymentInstrument.href` | ❌ | An object that contains your link to an [Access Token](/access/products/tokens). Mandatory for all `"type": "card/tokenized"` requests. |
| `value.amount` | ✅ | The money transfer amount. This is a whole number with an exponent, e.g. if exponent is two, 250 is 2.50. You can find the relevant exponent in our [currency table](/access/products/reference/supported-countries-currencies#iso-currency-codes). |
| `value.currency` | ✅ | The 3 digit currency code. See list of [supported currencies](/access/products/reference/supported-countries-currencies#iso-currency-codes). |
| `instruction.narrative.line1` | ✅ | First line of text that appears on your customer's statement. Used to identify the merchant.See [narrative format](/access/products/reference/formatting#narrative-format) for more details and best practices. |
| `instruction.narrative.line2` | ❌ | Second line of text that appears on your customer's statement. Used to give further details about the merchant.See [narrative format](/access/products/reference/formatting#narrative-format) for more details and best practices. |
| `merchant` | ✅ | An object that contains information about the merchant. |
| `merchant.entity` | ✅ | Direct your payment to assist with billing, reporting and reconciliation. This is mandatory for [queries](/access/products/money-transfers/make-money-transfer#query-a-moneytransfer-without-the-original-resource). Contact your Implementation Manager for more information. |
| `transactionReference` | ✅ | A unique reference generated by you, used to identify a money transfer throughout its lifecycle. See [transaction reference format](/access/products/reference/formatting#transaction-reference-format) for more details and best practices. |
| `fundReference` | ✅ | A child element of sender. Specifies a reference to the Origin account of the funds. |
| `fundType` | ✅ | A child element of sender. Specifies the type of funds being used by the sender in the transaction. Must be any of the following: `nonStagedDigitalWallet` |
| `paymentInstrument.cardHolderName` | ❌ | An object that contains your recipient's money transfer card name. Mandatory for all `"type": "card/plain"` requests. |
| `paymentInstrument.cardExpiryDate` | ❌ | An object that contains your recipient's money transfer card expiry date. Mandatory for all `"type": "card/plain"` requests. This cannot be a date in the past. |
| `paymentInstrument.cardNumber` | ❌ | An object that contains your recipient's money transfer card number. Mandatory for `"type": "card/plain"` requests. |
| `paymentInstrument.cvc` | ❌ | An object that contains your sender's money transfer card number cvc. Optional for all requests but increases the chances of transaction success rate if provided. |
| `paymentInstrument.billingAddress` | ❌ | An object containing the billing address information.  **If included you must send at least**:`countryCode``postalCode`  We recommend to provide `billingAddress` fields for all money transfer requests. If not provided, you may see increased failures.  |


### Money transfer response

Best practice
Access Worldpay returns a `WP-correlationId` in the headers of service responses. We **highly recommend** you log this. The `WP-correlationId` is used by us to examine individual service requests.

In your response we return:

* The `outcome`, which could be:
  * `approved` - Money transfer is approved.
  * `requested` - We have requested the money transfer.
  * `pending` - The money transfer request is pending and any immediate submissions will result a duplicate payment.
  * `refused` - This money transfer method is refused, try another card.
  * `Sent for Settlement` - The money transfer request is sent for settlement and the actual settlement information will come from the merchant's acquiring platform.
  * `requestReceived` - fastFunds is not enabled for this card.
  * `error` -  A downstream system failed to process your request.
* `type` of money transfer, which is: pushToCard
* A timestamp of `receivedAt`
* moneyTransfer resource


Example responses:

approved

```json
{
    "outcome": "approved",
    "type": "pushToCard",
    "receivedAt": "2022-12-09T12:34:35Z",
    "_links": {
        "self": {
            "href": "https://try.access.worldpay-bsh.securedataplatform.com/moneyTransfers/MjpVejhRSFRoeWxUUlhaaGVjdG9HK1J3PT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6MTlibFN4ZXpzZWp2eUhCOXRVaU4zbWxEdTNXcHRlc3BHbGk2TFlRZlBHTG4vcnFvdSs5SGtiZkk0c2RMWHhCWm5xRzFkamhUM1JDdGR2dGdtMlg1MFRLdk1hK09LdzBsNzJaV3NYdFVLMjA9"
        }
    }
}
```

requested

```json
{
    "outcome": "requested",
    "type": "pushToCard",
    "receivedAt": "2022-12-09T12:34:35Z",
    "_links": {
        "self": {
            "href": "https://try.access.worldpay-bsh.securedataplatform.com/moneyTransfers/MjpVejhRSFRoeWxUUlhaaGVjdG9HK1J3PT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6MTlibFN4ZXpzZWp2eUhCOXRVaU4zbWxEdTNXcHRlc3BHbGk2TFlRZlBHTG4vcnFvdSs5SGtiZkk0c2RMWHhCWm5xRzFkamhUM1JDdGR2dGdtMlg1MFRLdk1hK09LdzBsNzJaV3NYdFVLMjA9"
        }
    }
}
```

pending

```json
{
    "outcome": "pending",
    "type": "pushToCard",
    "receivedAt": "2022-12-09T12:34:35Z",
    "_links": {
        "self": {
            "href": "https://try.access.worldpay-bsh.securedataplatform.com/moneyTransfers/MjpVejhRSFRoeWxUUlhaaGVjdG9HK1J3PT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6MTlibFN4ZXpzZWp2eUhCOXRVaU4zbWxEdTNXcHRlc3BHbGk2TFlRZlBHTG4vcnFvdSs5SGtiZkk0c2RMWHhCWm5xRzFkamhUM1JDdGR2dGdtMlg1MFRLdk1hK09LdzBsNzJaV3NYdFVLMjA9"
        }
    }
}
```

refused

```json
{
    "outcome": "refused",
    "type": "pushToCard",
    "receivedAt": "2022-12-09T12:34:35Z",
    "_links": {
        "self": {
            "href": "https://try.access.worldpay-bsh.securedataplatform.com/moneyTransfers/MjpVejhRSFRoeWxUUlhaaGVjdG9HK1J3PT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6MTlibFN4ZXpzZWp2eUhCOXRVaU4zbWxEdTNXcHRlc3BHbGk2TFlRZlBHTG4vcnFvdSs5SGtiZkk0c2RMWHhCWm5xRzFkamhUM1JDdGR2dGdtMlg1MFRLdk1hK09LdzBsNzJaV3NYdFVLMjA9"
        }
    }
}
```

Sent for Settlement

```json
{
    "outcome": "Sent for Settlement",
    "type": "pushToCard",
    "receivedAt": "2022-12-09T12:34:35Z",
    "_links": {
        "self": {
            "href": "https://try.access.worldpay-bsh.securedataplatform.com/moneyTransfers/MjpVejhRSFRoeWxUUlhaaGVjdG9HK1J3PT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6MTlibFN4ZXpzZWp2eUhCOXRVaU4zbWxEdTNXcHRlc3BHbGk2TFlRZlBHTG4vcnFvdSs5SGtiZkk0c2RMWHhCWm5xRzFkamhUM1JDdGR2dGdtMlg1MFRLdk1hK09LdzBsNzJaV3NYdFVLMjA9"
        }
    }
}
```

requestReceived

```json
{
    "outcome": "requestReceived",
    "type": "pushToCard",
    "receivedAt": "2022-12-09T12:34:35Z",
    "_links": {
        "self": {
            "href": "https://try.access.worldpay-bsh.securedataplatform.com/moneyTransfers/MjpVejhRSFRoeWxUUlhaaGVjdG9HK1J3PT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6MTlibFN4ZXpzZWp2eUhCOXRVaU4zbWxEdTNXcHRlc3BHbGk2TFlRZlBHTG4vcnFvdSs5SGtiZkk0c2RMWHhCWm5xRzFkamhUM1JDdGR2dGdtMlg1MFRLdk1hK09LdzBsNzJaV3NYdFVLMjA9"
        }
    }
}
```

error

```json
{
    "outcome": "error",
    "type": "pushToCard",
    "receivedAt": "2022-12-09T12:34:35Z",
    "_links": {
        "self": {
            "href": "https://try.access.worldpay-bsh.securedataplatform.com/moneyTransfers/MjpVejhRSFRoeWxUUlhaaGVjdG9HK1J3PT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6MTlibFN4ZXpzZWp2eUhCOXRVaU4zbWxEdTNXcHRlc3BHbGk2TFlRZlBHTG4vcnFvdSs5SGtiZkk0c2RMWHhCWm5xRzFkamhUM1JDdGR2dGdtMlg1MFRLdk1hK09LdzBsNzJaV3NYdFVLMjA9"
        }
    }
}
```

#### Money transfer GET resource

Send a `GET` request to the `self` link, to retrieve the outcome of your money transfer request. 

Example response:

`GET`     `https://try.access.worldpay-bsh.securedataplatform.com/moneyTransfers/{resource}`


```json
{
    "outcome": "approved",
    "type": "pushToCard",
    "receivedAt": "2022-12-05T09:28:52Z",
    "_links": {
        "self": {
            "href": "https://try.access.worldpay-bsh.securedataplatform.com/moneyTransfers/MjpHbTRqTFNKV202L0NIeG9wZXkvTFBnPT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6VFQ3RjF1SnRtR05GVUpiMVpSK0pBdjFSSHdRVzVEbThWK29KalU1aEN6b2pVWktZQzJKWmxIaFFnZHRXOURxZnhxeU42SXk1akg1QkFkejByQXVwVVg1a0tzRmFVU1FpTHo5UEZIbDZpaG89"
        }
    }
}
```

Note
- If no update is available, you will get an error. You can get further information in our [error reference](/access/products/reference/worldpay-error-responses).
- The response won't contain a `type` if the `outcome` is `error` or `Sent for Settlement`.