Last Updated: 29 August 2024 | Change Log
Payouts
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.
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:
Parameter | Required | Description |
---|---|---|
instruction | ✅ | An object that contains all the information related to your payout request. |
instruction.payoutInstrument | ✅ | An object that contains your customer's payout details. |
payoutInstrument.type | ✅ | An object that contains your customer's payout type. Possible values:
|
payoutInstrument.href | ❌ | An object that contains your link to an Access Token. Mandatory for all "type": "card/tokenized" requests. |
payoutInstrument.href | ❌ | An object that contains your link to an Access Token. Mandatory for all "type": "card/tokenized" requests. |
payoutInstrument.dpan | ❌ | An object that contains the device primary account number. Mandatory for all "type": "card/networkToken+applepay" requests. |
value.amount | ✅ | The payout 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. |
value.currency | ✅ | The 3 digit currency code. See list of supported currencies. |
instruction.narrative.line1 | ✅ | First line of text that appears on your customer's statement. Used to identify the merchant. See 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 for more details and best practices. |
merchant | ✅ | An object that contains information about the merchant. |
merchant.entity | ✅ | This is mandatory for authentication and queries. Contact your Implementation Manager for more information. |
transactionReference | ✅ | A unique reference generated by you, used to identify a payout throughout its lifecycle. See transaction reference format for more details and best practices. |
payoutInstrument.cardHolderName | ❌ | An object that contains your customer's payout card name. 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". Note We highly recommend you supply the cardholder name, as most issuers require this. Additionally, it increases your acceptance rate. |
payoutInstrument.cardExpiryDate | ✅ | An object that contains your customer's payout card expiry date. Mandatory for all "type": "card/plain" requests. |
payoutInstrument.expiryDate | ❌ | An object that contains your customer's payout card expiry date. Mandatory for all "type": "card/networkToken" requests. Can be a date in the past to process unreferenced refunds. |
payoutInstrument.cardNumber | ✅ | An object that contains your customer's payout card number. Mandatory for "type": "card/plain" requests. |
payoutInstrument.tokenNumber | ❌ | An object that contains your customer's payout token number. Mandatory for "type": "card/networkToken" requests. |
payoutInstrument.billingAddress | ❌ | An object containing the billing address information. If included you must send at least: - countryCode - postalCode For requests with Canadian Visa cards billingAddress details are mandatory. For this type of request you must send at least: - address1 - city - state - countryCode - postalCode You can only supply this with a card/plain or card/networkToken+applepay payout instrument. Note We recommend to provide billingAddress fields for all Payout requests. If not provided for basicDisbursement requests with a Visa card, you may see increased failures. This includes fastAccess requests that default to standard payout flows.You can find more details in our Visa OCT mandate article. |
The full request schemas are available in the API reference.
Payout response
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.queryRequired
- Due to a downstream issue, the outcome of your request could not be determined at this time.
A timestamp of
receivedAt
The location of the payout resource
Example responses:
{ "outcome": "requestReceived", "receivedAt": "2020-05-06T12:29:39.625884Z", "_links": { "payouts:payout": { "href": "https://access.worldpay.com/payouts/{resource}" }, "payouts:update": { "href": "https://try.access.worldpay.com/payouts/{resource}" }, "curies": [{ "name": "payouts", "href": "https://access.worldpay.com/rels/payouts/{rel}", "templated": true }] }, "curies": [{ "name": "payouts", "href": "https://access.worldpay.com/rels/payouts/{rel}", "templated": true }] }
Standard payout outcome
of queryRequired
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 appears in the queryRequired
response.
Example response:
GET
https://try.access.worldpay.com/payouts/{resource}
{ "outcome": "queryRequired", "receivedAt": "2020-05-06T12:29:39.625884Z", "_links": { "payouts:payout": { "href": "https://access.worldpay.com/payouts/{resource}" }, "payouts:update": { "href": "https://try.access.worldpay.com/payouts/{resource}" }, "curies": [{ "name": "payouts", "href": "https://access.worldpay.com/rels/payouts/{rel}", "templated": true }] }, "curies": [{ "name": "payouts", "href": "https://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.
If no update is available you will get an error.
Fast Access
Use Fast Access to pay your customers within 30 minutes or less.
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.
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
Parameter | Required | Description |
---|---|---|
instruction | ✅ | An object that contains all the information related to your payout request. |
payoutInstrument | ✅ | An object that contains your customer's payout details. |
payoutInstrument.type | ✅ | An object that contains your customer's payout type. Possible values:
|
payoutInstrument.href | ❌ | An object that contains your link to an Access Token. Mandatory for all "type": "card/tokenized" requests. |
value.amount | ✅ | The payout 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. |
value.currency | ✅ | The 3 digit currency code. See list of supported currencies. |
instruction.narrative.line1 | ✅ | First line of text that appears on your customer's statement. Used to identify the merchant. See 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 for more details and best practices. |
merchant | ✅ | An object that contains information about the merchant. |
merchant.entity | ✅ | This is mandatory for authentication and queries. Contact your Implementation Manager for more information. |
transactionReference | ✅ | A unique reference generated by you, used to identify a payout throughout its lifecycle. See transaction reference format, for more details and best practices. |
payoutInstrument.cardHolderName | ❌ | An object that contains your customer's payout card name. 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". Note We highly recommend you supply the cardholder name, as most issuers require this. Additionally, it increases your acceptance rate. |
payoutInstrument.cardExpiryDate | ✅ | An object that contains your customer's payout card expiry date. Mandatory for all "type": "card/plain" requests. |
payoutInstrument.expiryDate | ❌ | An object that contains your customer's payout card expiry date. Mandatory for all "type": "card/networkToken" requests. Can be a date in the past to process unreferenced refunds. |
payoutInstrument.cardNumber | ✅ | An object that contains your customer's payout card number. Mandatory for "type": "card/plain" requests. |
payoutInstrument.tokenNumber | ❌ | An object that contains your customer's payout token number. Mandatory for "type": "card/networkToken" requests. |
payoutInstrument.billingAddress | ❌ | An object containing the billing address information. If included you must send at least: - countryCode - postalCode For requests with Canadian Visa cards billingAddress details are mandatory. For this type of request you must send at least: - address1 - city - state - countryCode - postalCode You can only supply this with a card/plain or card/networkToken+applepay payout instrument. Note We recommend to provide billingAddress fields for all Payout requests. If not provided for basicDisbursement requests with a Visa card, you may see increased failures. This includes fastAccess requests that default to standard payout flows.You can find more details in our Visa OCT mandate article. |
The full request schemas are available in the API reference.
Fast Access payout response
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. If there are no updates within 48 hours then this moves to anerror
outcome.approved
- Visa 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’s daily reporting.refused
- Your Fast Access disbursement request is refused. Possible refusal reasons:- The card issuer declines the disbursement
- Visa 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 within 48 hours or Visa returns an error confirming the request has failedqueryRequired
- Due to a downstream issue, the outcome of your request could not be determined at this time.
- A timestamp
receivedAt
- The location of the payout resource
{ "outcome": "requested", "receivedAt": "2020-05-06T12:29:39.625884Z", "_links": { "payouts:payout": { "href": "https://access.worldpay.com/payouts/{resource}" }, "curies": [{ "name": "payouts", "href": "https://access.worldpay.com/rels/payouts/{rel}", "templated": true }] }, "curies": [{ "name": "payouts", "href": "https://access.worldpay.com/rels/payouts/{rel}", "templated": true }] }
Fast Access payout outcome
of requested
, pending
, approved
or queryRequired
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": "2020-05-06T12:29:39.625884Z", "_links": { "payouts:payout": { "href": "https://access.worldpay.com/payouts/{resource}" }, "payouts:update": { "href": "https://try.access.worldpay.com/payouts/{resource}" }, "curies": [{ "name": "payouts", "href": "https://access.worldpay.com/rels/payouts/{rel}", "templated": true }] }, "curies": [{ "name": "payouts", "href": "https://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.
If no update is available you will get an error.
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.
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.