- Home
- All APIs
- Access Worldpay
- Money Transfers API
- Make a Money Transfer
Make a Money Transfer
Push funds to a card and pull funds from a card.
Push to card money transfer
Push to card money transfer request
Withdraw funds from a digital wallet by sending a request to our moneyTransfers:pushToCard
action link received in your
Push to card money transfer is currently only available for Visa money transfers via Visa Direct.
POST https://try.access.worldpay.com/moneyTransfers/pushToCard
Push to card money transfer request body:
{
"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"
}
}
}
{
"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.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:
| |
paymentInstrument.href | An object that contains your link to an 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 | |
value.currency | The 3 digit currency code. See list of | |
instruction.narrative.line1 | First line of text that appears on your customer's statement. Used to identify the merchant. See | |
instruction.narrative.line2 | Second line of text that appears on your customer's statement. Used to give further details about the merchant. See | |
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 | |
transactionReference | A unique reference generated by you, used to identify a money transfer throughout its lifecycle. See | |
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:
| |
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:
We recommend to provide |
The full request schemas are available in the
Push to card 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:
{
"outcome": "approved",
"type": "pushToCard",
"receivedAt": "2022-12-09T12:34:35Z",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/moneyTransfers/MjpVejhRSFRoeWxUUlhaaGVjdG9HK1J3PT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6MTlibFN4ZXpzZWp2eUhCOXRVaU4zbWxEdTNXcHRlc3BHbGk2TFlRZlBHTG4vcnFvdSs5SGtiZkk0c2RMWHhCWm5xRzFkamhUM1JDdGR2dGdtMlg1MFRLdk1hK09LdzBsNzJaV3NYdFVLMjA9"
}
}
}
{
"outcome": "requested",
"type": "pushToCard",
"receivedAt": "2022-12-09T12:34:35Z",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/moneyTransfers/MjpVejhRSFRoeWxUUlhaaGVjdG9HK1J3PT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6MTlibFN4ZXpzZWp2eUhCOXRVaU4zbWxEdTNXcHRlc3BHbGk2TFlRZlBHTG4vcnFvdSs5SGtiZkk0c2RMWHhCWm5xRzFkamhUM1JDdGR2dGdtMlg1MFRLdk1hK09LdzBsNzJaV3NYdFVLMjA9"
}
}
}
{
"outcome": "pending",
"type": "pushToCard",
"receivedAt": "2022-12-09T12:34:35Z",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/moneyTransfers/MjpVejhRSFRoeWxUUlhaaGVjdG9HK1J3PT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6MTlibFN4ZXpzZWp2eUhCOXRVaU4zbWxEdTNXcHRlc3BHbGk2TFlRZlBHTG4vcnFvdSs5SGtiZkk0c2RMWHhCWm5xRzFkamhUM1JDdGR2dGdtMlg1MFRLdk1hK09LdzBsNzJaV3NYdFVLMjA9"
}
}
}
{
"outcome": "refused",
"type": "pushToCard",
"receivedAt": "2022-12-09T12:34:35Z",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/moneyTransfers/MjpVejhRSFRoeWxUUlhaaGVjdG9HK1J3PT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6MTlibFN4ZXpzZWp2eUhCOXRVaU4zbWxEdTNXcHRlc3BHbGk2TFlRZlBHTG4vcnFvdSs5SGtiZkk0c2RMWHhCWm5xRzFkamhUM1JDdGR2dGdtMlg1MFRLdk1hK09LdzBsNzJaV3NYdFVLMjA9"
}
}
}
{
"outcome": "Sent for Settlement",
"type": "pushToCard",
"receivedAt": "2022-12-09T12:34:35Z",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/moneyTransfers/MjpVejhRSFRoeWxUUlhaaGVjdG9HK1J3PT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6MTlibFN4ZXpzZWp2eUhCOXRVaU4zbWxEdTNXcHRlc3BHbGk2TFlRZlBHTG4vcnFvdSs5SGtiZkk0c2RMWHhCWm5xRzFkamhUM1JDdGR2dGdtMlg1MFRLdk1hK09LdzBsNzJaV3NYdFVLMjA9"
}
}
}
{
"outcome": "requestReceived",
"type": "pushToCard",
"receivedAt": "2022-12-09T12:34:35Z",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/moneyTransfers/MjpVejhRSFRoeWxUUlhaaGVjdG9HK1J3PT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6MTlibFN4ZXpzZWp2eUhCOXRVaU4zbWxEdTNXcHRlc3BHbGk2TFlRZlBHTG4vcnFvdSs5SGtiZkk0c2RMWHhCWm5xRzFkamhUM1JDdGR2dGdtMlg1MFRLdk1hK09LdzBsNzJaV3NYdFVLMjA9"
}
}
}
{
"outcome": "error",
"type": "pushToCard",
"receivedAt": "2022-12-09T12:34:35Z",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/moneyTransfers/MjpVejhRSFRoeWxUUlhaaGVjdG9HK1J3PT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6MTlibFN4ZXpzZWp2eUhCOXRVaU4zbWxEdTNXcHRlc3BHbGk2TFlRZlBHTG4vcnFvdSs5SGtiZkk0c2RMWHhCWm5xRzFkamhUM1JDdGR2dGdtMlg1MFRLdk1hK09LdzBsNzJaV3NYdFVLMjA9"
}
}
}
Push to card 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.com/moneyTransfers/{resource}
{
"outcome": "approved",
"type": "pushToCard",
"receivedAt": "2022-12-05T09:28:52Z",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/moneyTransfers/MjpHbTRqTFNKV202L0NIeG9wZXkvTFBnPT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6VFQ3RjF1SnRtR05GVUpiMVpSK0pBdjFSSHdRVzVEbThWK29KalU1aEN6b2pVWktZQzJKWmxIaFFnZHRXOURxZnhxeU42SXk1akg1QkFkejByQXVwVVg1a0tzRmFVU1FpTHo5UEZIbDZpaG89"
}
}
}
Note:
- If no update is available, you will get an error. You can get further information in our
error reference . - The response won't contain a
type
if theoutcome
iserror
orSent for Settlement
.
Pull from card money transfer
Loading funds into a digital wallet by sending a request to our moneyTransfers:pullFromCard
action link received in your
Pull from card money transfer is currently only available for Visa money transfers via Visa Direct.
Prerequisite:
- You must be enabled for Fast Access before using it. Please contact your Implementation Manager for more information.
- To get the
authentication
object you must complete anauthentication request using our3DS API
Pull from card money transfer request
Send your money transfer request to our moneyTransfers:pullFromCard
action link received in your
POST https://try.access.worldpay.com/moneyTransfers/pullFromCard
Pull from card money transfer request body:
{
"transactionReference":"Memory265-13/08/1876",
"merchant":{
"entity":"default"
},
"instruction":{
"narrative":{
"line1":"line1",
"line2":"line2"
},
"value":{
"amount":100,
"currency":"GBP"
},
"recipient":{
"fundReference":"fundReference",
"fundType":"nonStagedDigitalWallet"
},
"sender":{
"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"
}
},
"authentication":{
"version":"2.1.0",
"type":"3DS",
"eci":"05",
"authenticationValue":"MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=",
"transactionId":"683001f5-3805-423a-b580-638e4b2093b3"
}
}
}
}
{
"transactionReference":"Memory265-13/08/1876",
"merchant":{
"entity":"default"
},
"instruction":{
"narrative":{
"line1":"line1",
"line2":"line2"
},
"value":{
"amount":100,
"currency":"GBP"
},
"recipient":{
"fundReference":"fundReference",
"fundType":"nonStagedDigitalWallet"
},
"sender":{
"firstName":"firstName",
"lastName":"lastName",
"paymentInstrument":{
"type":"card/tokenized",
"href":"https://try.access.worldpay.com/tokens/eyJrIjoxLCJkIjoiNzErbStHYXJ2QllHZlpCdmpRQWp6V0ZhVmNYY0MvT0FsRm1qVm9JZzM0RjRyeUt6Z21BN3NxdDN6VEYxeWNieSJ9",
"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"
}
},
"authentication":{
"version":"2.1.0",
"type":"3DS",
"eci":"05",
"authenticationValue":"MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=",
"transactionId":"683001f5-3805-423a-b580-638e4b2093b3"
}
}
}
}
Descriptions of your pull from card money transfer request parameters
Parameter | Required | Description |
---|---|---|
instruction | An object that contains all the information related to your money transfer request. | |
paymentInstrument | An object that contains your sender's money transfer details. | |
paymentInstrument.type | An object that contains your sender's money transfer type. Possible values:
| |
paymentInstrument.href | An object that contains your link to an 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 | |
value.currency | The 3 digit currency code. See list of | |
instruction.narrative.line1 | First line of text that appears on your sender's statement. Used to identify the merchant. See | |
instruction.narrative.line2 | Second line of text that appears on your sender's statement. Used to give further details about the merchant. See | |
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 | |
transactionReference | A unique reference generated by you, used to identify a money transfer throughout its lifecycle. See | |
fundReference | A child element of recipient. Specifies a reference to the destination account of the funds. | |
fundType | A child element of recipient. Specifies the type of funds being used by the recipient in the transaction. Must be any of the following:
| |
paymentInstrument.cardHolderName | An object that contains your senders's money transfer card name. Mandatory for all "type": "card/plain" requests. | |
paymentInstrument.cardExpiryDate | An object that contains your sender's money transfer card expiry date. Mandatory for all "type": "card/plain" requests. Must be a date in the future. | |
paymentInstrument.cardNumber | An object that contains your sender's money transfer card number. Mandatory for all "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:
We recommend to provide | |
authentication | An object that contains your sender's 3DS details. If included you must send the below fields for 3DS authentication . Please refer to | |
authentication.version | The version of 3DS used to process the transaction. This must be provided for 3DS2. Possible Values :
| |
authentication.type | This field contains the type of Authentication and currently it is only3DS . | |
authentication.eci | Electronic Commerce Indicator (ECI). Indicates the outcome of the
| |
authentication.authenticationValue | Required, if authentication.eci value is 01, 02, 05 or 06.A cryptographic value that provides evidence of the outcome of a 3DS verification.
authentication.authenticationValue must be 28 digits max and must be base64-encoded. | |
authentication.transactionId | Required, if authentication.eci value is 01, 02, 05 or 06.A unique authentication transaction identifier, generated by the issuer. RFC 4122 UUID standard and is 36 characters in length. |
The full request schemas are available in the
Pull from card 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 our 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: pullFromCard- A timestamp of
receivedAt
- moneyTransfer resource
Example responses:
{
"outcome": "approved",
"type": "pullFromCard",
"receivedAt": "2022-12-09T11:52:12Z",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/moneyTransfers/MjpGRXRrckZLZDBnNWxDSDFib1V5WENnPT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6elNSdzc0L1ViOFBHMXAwY01ucUdTSnljK1JtUktPVVdrTXlhSzVRS3VLUGdab3k5VDBJNVI3bGlZcjNwaWNKRXl2YXBrUm9PaU1KNjF6ZklRWlRHVDJsbFVMbHpjUlNtZEtCSnhGQTV1Ymc9"
}
}
}
{
"outcome": "requested",
"type": "pullFromCard",
"receivedAt": "2022-12-09T11:52:12Z",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/moneyTransfers/MjpGRXRrckZLZDBnNWxDSDFib1V5WENnPT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6elNSdzc0L1ViOFBHMXAwY01ucUdTSnljK1JtUktPVVdrTXlhSzVRS3VLUGdab3k5VDBJNVI3bGlZcjNwaWNKRXl2YXBrUm9PaU1KNjF6ZklRWlRHVDJsbFVMbHpjUlNtZEtCSnhGQTV1Ymc9"
}
}
}
{
"outcome": "pending",
"type": "pullFromCard",
"receivedAt": "2022-12-09T11:52:12Z",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/moneyTransfers/MjpGRXRrckZLZDBnNWxDSDFib1V5WENnPT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6elNSdzc0L1ViOFBHMXAwY01ucUdTSnljK1JtUktPVVdrTXlhSzVRS3VLUGdab3k5VDBJNVI3bGlZcjNwaWNKRXl2YXBrUm9PaU1KNjF6ZklRWlRHVDJsbFVMbHpjUlNtZEtCSnhGQTV1Ymc9"
}
}
}
{
"outcome": "refused",
"type": "pullFromCard",
"receivedAt": "2022-12-09T11:52:12Z",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/moneyTransfers/MjpGRXRrckZLZDBnNWxDSDFib1V5WENnPT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6elNSdzc0L1ViOFBHMXAwY01ucUdTSnljK1JtUktPVVdrTXlhSzVRS3VLUGdab3k5VDBJNVI3bGlZcjNwaWNKRXl2YXBrUm9PaU1KNjF6ZklRWlRHVDJsbFVMbHpjUlNtZEtCSnhGQTV1Ymc9"
}
}
}
{
"outcome": "Sent for Settlement",
"type": "pullFromCard",
"receivedAt": "2022-12-09T11:52:12Z",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/moneyTransfers/MjpGRXRrckZLZDBnNWxDSDFib1V5WENnPT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6elNSdzc0L1ViOFBHMXAwY01ucUdTSnljK1JtUktPVVdrTXlhSzVRS3VLUGdab3k5VDBJNVI3bGlZcjNwaWNKRXl2YXBrUm9PaU1KNjF6ZklRWlRHVDJsbFVMbHpjUlNtZEtCSnhGQTV1Ymc9"
}
}
}
{
"outcome": "requestReceived",
"type": "pullFromCard",
"receivedAt": "2022-12-09T11:52:12Z",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/moneyTransfers/MjpGRXRrckZLZDBnNWxDSDFib1V5WENnPT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6elNSdzc0L1ViOFBHMXAwY01ucUdTSnljK1JtUktPVVdrTXlhSzVRS3VLUGdab3k5VDBJNVI3bGlZcjNwaWNKRXl2YXBrUm9PaU1KNjF6ZklRWlRHVDJsbFVMbHpjUlNtZEtCSnhGQTV1Ymc9"
}
}
}
{
"outcome": "error",
"type": "pullFromCard",
"receivedAt": "2022-12-09T11:52:12Z",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/moneyTransfers/MjpGRXRrckZLZDBnNWxDSDFib1V5WENnPT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6elNSdzc0L1ViOFBHMXAwY01ucUdTSnljK1JtUktPVVdrTXlhSzVRS3VLUGdab3k5VDBJNVI3bGlZcjNwaWNKRXl2YXBrUm9PaU1KNjF6ZklRWlRHVDJsbFVMbHpjUlNtZEtCSnhGQTV1Ymc9"
}
}
}
Pull from card 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.com/moneyTransfers/{resource}
{
"outcome": "approved",
"type": "pullFromCard",
"receivedAt": "2022-12-05T09:29:37Z",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/moneyTransfers/Mjp2Vm94RTRkSUFRTDlieG52ZWhIYW93PT06QUVTL0NCQy9QS0NTNVBhZGRpbmc6L0VDK082aEhORmtmVGlNMnR0M1VQMTlFaXdqbDhTdXFvUXhHSFNiajhQRGhoTWdBcnhFVHFYZ25tSXdLMnhUaU92K3lrRFAwUGJvZzNWSFRVUy8rcmJ5bEtnYjBpK3ZlZFVEbnRGTUR2b1E9"
}
}
}
Note:
- If no update is available, you will get an error. You can get further information in our
error reference . - The response won't contain a
type
if theoutcome
iserror
orSent for Settlement
.
Query a money transfer without the original resource
If the location of an existing money transfer is lost, the result can still be recovered using the moneyTransfers:query
endpoint.
To do this you must have the entity
and transactionReference
of the original request.
Send a GET
to the resource of moneyTransfers:query
action link available from the moneyTransfers root resource.
GET https://try.access.worldpay.com/moneytransfers/query?transactionReference={transactionReference}&entity={entity}
Replace {transactionReference}
and {entity}
in the link above with the transactionReference
and entity
of the original money transfer.
Note: The response won't contain a type
if the outcome
is error
or Sent for Settlement
.