Skip to content

Last Updated: 29 August 2024 | Change Log

Make a Card Payout

Send funds to your customer's cards.


Standard payout

Payout request

Pay your customers by sending a request to our payouts:basicDisbursement action link received in your query the payout root resource request.

Note

If you want to payout to a wallet please read here first.

POST https://try.access.worldpay.com/payouts/basicDisbursement

Payout request body:

{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "default"
    },
    "instruction": {
        "narrative": {
            "line1": "The Mind Palace Ltd",
            "line2": "Memory265-13/08/1876"
        },
        "value": {
            "currency": "GBP",
            "amount": 100
        },
        "payoutInstrument": {
            "type": "card/plain",
            "cardHolderName": "Sherlock Holmes",
            "cardNumber": "4444333322221111",
            "cardExpiryDate": {
                "month": 5,
                "year": 2035
            },
            "billingAddress": {
                "address1": "221B Baker Street",
                "address2": "Marylebone",
                "address3": "Westminster",
                "postalCode": "NW1 6XE",
                "city": "London",
                "state": "Greater London",
                "countryCode": "GB"
            }
        }
    }
}

Descriptions of your payout request parameters:

instructionobjectrequired

An object that contains all the information related to your payout request.

instruction.​narrativeobjectrequired

An object that contains identification and further details of the merchant.

instruction.​narrative.​line1stringrequired

First line of text that appears on your customer's statement.

instruction.​narrative.​line2string

Second line of text that appears on your customer's statement.

instruction.​payoutInstrumentobjectrequired

An object that contains your customer's payout type.

instruction.​payoutInstrument.​typestringrequired
Discriminator
instruction.​payoutInstrument.​cardNumberstring[ 12 .. 19 ] characters^[0-9]*$required

Your customer's payout card number.

instruction.​payoutInstrument.​cardExpiryDateobjectrequired

The expiry date of your customer's card. Must be a date in the future.

instruction.​payoutInstrument.​cardExpiryDate.​monthintegerrequired
instruction.​payoutInstrument.​cardExpiryDate.​yearintegerrequired
instruction.​payoutInstrument.​cardHolderNamestring^(?=.*[A-Za-z])[-A-Za-z0-9_ ]*$

The name on your customer's card. This is not a mandatory field however it is recommended that you supply this to improve authorization rates. If not supplied, the default is "Not Supplied". Must not contain only numeric characters.

instruction.​payoutInstrument.​billingAddressobject

An object containing the billing address information. We recommend you provide billingAddress fields for all Payout requests.

instruction.​valueobjectrequired

An object that contains payout amount and currency.

instruction.​value.​amountintegerrequired

The payout amount. This is a whole number with an exponent e.g. if exponent is two, 250 is 2.50.

Example: 250
instruction.​value.​currencystringrequired
Example: "USD"
merchantobjectrequired

An object that contains information about the merchant.

merchant.​entitystring[ 1 .. 32 ] characters^([A-Za-z0-9]+[A-Za-z0-9 ]*)?$required

Direct your payment to assist with billing, reporting and reconciliation. This is mandatory for authentication and queries.

Example: "default"
transactionReferencestring[ 1 .. 64 ] characters^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$required

A unique reference generated by you, used to identify a payout throughout its lifecycle.

Payout 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:

    • requestReceived - We have received your basic disbursement request and are processing it within 3-5 working days.
    • refused - This payout method is refused, try another card.
    • error - A downstream system failed to process your request.
  • A timestamp of receivedAt

  • The location of the payout resource

Example responses:

{
    "outcome": "requestReceived",
    "receivedAt": "2023-09-06T12:29:39.625884Z",
    "_links": {
        "payouts:payout": {
            "href": "https://try.access.worldpay.com/payouts/{resource}"
        },
        "curies": [{
            "name": "payouts",
            "href": "https://try.access.worldpay.com/rels/payouts/{rel}",
            "templated": true
        }]
    }
}
Best Practice

We recommend using our Events service to receive the latest Payout status.

Fast Access

Use Fast Access to pay your customers within 30 minutes or less.

Prerequisite

You must be enabled for Fast Access before using it. Please contact your Implementation Manager for more information.

Fast Access payout request

Send your payout request to our payouts:fastAccess action link received in your query the payout root resource request.

If your customers card is not Fast Access enabled, a standard payout is automatically performed.

Note

If you want to payout to a wallet please read here first.

POST https://try.access.worldpay.com/payouts/fastAccess

Fast Access payout request body:

{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "default"
    },
    "instruction": {
        "narrative": {
            "line1": "The Mind Palace Ltd",
            "line2": "Memory265-13/08/1876"
        },
        "value": {
            "currency": "GBP",
            "amount": 100
        },
        "payoutInstrument": {
            "type": "card/plain",
            "cardHolderName": "Sherlock Holmes",
            "cardNumber": "4444333322221111",
            "cardExpiryDate": {
                "month": 5,
                "year": 2035
            },
            "billingAddress": {
                "address1": "221B Baker Street",
                "address2": "Marylebone",
                "address3": "Westminster",
                "postalCode": "NW1 6XE",
                "city": "London",
                "state": "Greater London",
                "countryCode": "GB"
            }
        }
    }
}

Descriptions of your Fast Access payout request parameters

instructionobjectrequired

An object that contains all the information related to your payout request.

instruction.​narrativeobjectrequired

An object that contains identification and further details of the merchant.

instruction.​narrative.​line1stringrequired

First line of text that appears on your customer's statement.

instruction.​narrative.​line2string

Second line of text that appears on your customer's statement.

instruction.​payoutInstrumentobjectrequired

An object that contains your customer's payout type.

instruction.​payoutInstrument.​typestringrequired
Discriminator
instruction.​payoutInstrument.​cardNumberstring[ 12 .. 19 ] characters^[0-9]*$required

Your customer's payout card number.

instruction.​payoutInstrument.​cardExpiryDateobjectrequired

The expiry date of your customer's card. Must be a date in the future.

instruction.​payoutInstrument.​cardExpiryDate.​monthintegerrequired
instruction.​payoutInstrument.​cardExpiryDate.​yearintegerrequired
instruction.​payoutInstrument.​cardHolderNamestring^(?=.*[A-Za-z])[-A-Za-z0-9_ ]*$

The name on your customer's card. This is not a mandatory field however it is recommended that you supply this to improve authorization rates. If not supplied, the default is "Not Supplied". Must not contain only numeric characters.

instruction.​payoutInstrument.​billingAddressobject

An object containing the billing address information. We recommend you provide billingAddress fields for all Payout requests.

instruction.​valueobjectrequired

An object that contains payout amount and currency.

instruction.​value.​amountintegerrequired

The payment amount. This is a whole number with an exponent e.g. if exponent is two, 250 is 2.50.

Example: 250
instruction.​value.​currencystringrequired
Example: "USD"
merchantobjectrequired

An object that contains information about the merchant.

merchant.​entitystring[ 1 .. 32 ] characters^([A-Za-z0-9]+[A-Za-z0-9 ]*)?$required

Direct your payment to assist with billing, reporting and reconciliation. This is mandatory for authentication and queries.

Example: "default"
transactionReferencestring[ 1 .. 64 ] characters^[-A-Za-z0-9_!@#$%()*=.:;?\[\]{}~`/+]*$required

A unique reference generated by you, used to identify a payout throughout its lifecycle.

Note

The full request schemas are available in the API reference.

Fast Access payout 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:
    • requested - We have received your Fast Access disbursement.
    • pending - We have sent your Fast Access disbursement request to Visa Direct/Mastercard Send. If there are no updates within 48 hours then this moves to an error outcome.
    • approved - Visa/Mastercard has approved your request and the funds are allocated within 30 minutes if the issuer is Fast Access enabled. If not, standard timescales apply.
    • disbursed - The transaction is reconciled with Visa/Mastercard’s daily reporting.
    • refused - Your Fast Access disbursement request is refused. Possible refusal reasons:
      • The card issuer declines the disbursement
      • Visa/Mastercard declines your request because the issuing bank is not responding
      • Disbursements are not allowed in the requested country
    • error - There is no response from Visa/Mastercard within 48 hours or Visa/Mastercard returns an error confirming the request has failed.
    • requestReceived – We have received your Fast Access disbursement request, but the card does not support Fast Access.
  • A timestamp receivedAt
  • The location of the payout resource
{
    "outcome": "requested",
    "receivedAt": "2023-09-06T12:29:39.625884Z",
    "_links": {
        "payouts:payout": {
            "href": "https://try.access.worldpay.com/payouts/{resource}"
        },
        "curies": [{
            "name": "payouts",
            "href": "https://try.access.worldpay.com/rels/payouts/{rel}",
            "templated": true
        }]
    }
}

Fast Access payout outcome of requested, pending or approved

Send a GET request to the payouts:payout action link, to retrieve the outcome of your payout request. When an update to the outcome is available the payouts:update action link will appear in this response.

Example:

GET https://try.access.worldpay.com/payouts/{resource}

Example responses:

{
    "outcome": "requested",
    "receivedAt": "2023-09-06T12:29:39.625884Z",
    "_links": {
        "payouts:payout": {
            "href": "https://try.access.worldpay.com/payouts/{resource}"
        },
        "payouts:update": {
            "href": "https://try.access.worldpay.com/payouts/{resource}"
        },
        "curies": [{
            "name": "payouts",
            "href": "https://try.access.worldpay.com/rels/payouts/{rel}",
            "templated": true
        }]
    }
}

Send a GET request to the payouts:update action link to find out the update to the outcome.

Note

If no update is available, you will get an error. You can get further information in our error reference.

Retrieve a payout using the original resource

Send a GET to the resource of the payouts:payout action link, returned in the response of the initial basicDisbursement or fastAccess request.

GET https://try.access.worldpay.com/payouts/{resource}

Replace {resource} in the link above with the location given in your initial response.

Note

You can only get the location from the initial response.

Query a payout without the original resource

If the location of an existing payout is lost, the result can still be recovered using the payouts:query endpoint.

To do this you must have the entity and transactionReference of the original request.

Send a GET to the resource of payouts:query action link.

GET https://try.access.worldpay.com/payouts/query?transactionReference={transactionReference}&entity={entity}

Replace {transactionReference} and {entity} in the link above with the transactionReference and entity of the original payout.