Cashout

Cashout allows customers to withdraw cash from their card at the merchant’s POS.

Introduction

What is cashout? Let's say a customer is paying for a $20 shirt and they also want to withdraw $10 cash from their card. The merchant will add a $10 cashout to the purchase transaction and then they will then give the customer $10 of cash. The merchant will receive $30 from the customer's card; that is, $20 for the purchase and $10 for the cashout.

When can cashout be used?

The merchant may decide to only allow cashout with purchase or to not allow cashout at all and they may configure their POS or EFTPOS terminal with these settings.

Additionally, Spice doesn't allow cashout to be used in the following cases.

  • Cashout cannot be used on refunds. This is because it is not allowed by law in many areas.
  • Cashout cannot be used with a credit card. (In Gecko Bank, select the Savings or Cheque account option.)
  • Cashout and tipping cannot be used in the same transaction. A purchase request cannot include both the cashoutAmount and tipAmount fields.

POS based cashout with purchase

The most common method of cashout is where the customer gets cashout along with their purchase. To use this feature, you will need to use the cashoutAmount field in the POST /v1/purchase request. Here is an example.

{
    "posRefId": "aa2bc19f-c546-421c-sa82-2294fc25a13e",
    "purchaseAmount": 2000,
    "cashoutAmount": 1000
}

The response will contain the cash_amount field indicating the amount of cashout.

Sequence diagram of making a cashout with purchase.

📘

Note:

  • When using Gecko Bank, in the MXA Settings app, you must enable Purchase with cashout.
  • In your POS, there must be a button for making a cashout transaction that is separate from the button for making a purchase.

Terminal based cashout with purchase

This method of cashout is where the EFTPOS terminal prompts for the amount to cashout instead of the POS doing so. For this, make a POST /v1/purchase request but include promptForCashout: true instead of a cashoutAmount.

{
    "posRefId": "aa92fc64-cb24-4b60-bc2e-d5a28a517fd3",
    "purchaseAmount": 2000,
    "promptForCashout": true
}

Cashout on terminal transactions can be either cashout with purchase or cashout-only.

As with the other cashout methods, the response contains the cash_amount field.

Sequence diagram of making a cashout on terminal transaction.

Cashout only

This method of cashout allows a customer to withdraw cash without making a purchase. To use this feature, you will need to use the cashoutAmount field in the POST /v1/cashout request. Here is an example.

{
    "posRefId": "aa2bc19f-c546-421c-sa82-2294fc25a13e",
    "cashoutAmount": 1000,
    "posId": "T1"
}

📘

When using Gecko Bank, in the MXA Settings app, you must enable Cashout.