Webhooks & Firehoses
FD1 Eftpos Devices
These functions allow you to query available payment devices and to start payment transactions
Eftpos payment providers may impose restrictions on what your application must do. You must follow these requirements exactly and completely. Should Fieldpine detect non-compliance, your ability to invoke eftpos payments may be revoked.
Eftpos payment providers may require specific user interaction and screens during payment handling. We recommend you use the Fieldpine client side Javascript library to handle this phase as this meets all current requirements.
fd1.devices.get_eftpos_devices
Fetch allocated and potentially available eftpos devices
{ a: "fd1.devices.get_eftpos_devices", q: { latitude: -34.892344, longitude: 174.99988872, location: 45 } }
Transaction Flow
Your Code | Fieldpine Client Side | Data over Websocket | Fieldpine Server | |
1 | User clicks to request payment | request_eftpos_payment » | ||
2 | Payment process begins | |||
3 | « eftpos_status_update | |||
4 | Eftpos transaction screen displayed | |||
5 | Status screen updated | « eftpos_status_update | ||
6 | If cancel or other options selected | update_eftpos_request » | ||
7 | Payment request complete | |||
8 | «eftpos_payment_complete | Payment request complete | ||
9 | Transaction screen removed | |||
10 | Sale completed, etc |
Steps 5 and 6 can occur multiple times, with a two way exchange of messages between client and server
fd1.devices.request_eftpos_payment
Starts a new payment request.
Available Fields
Name | Description | Example |
deviceid | Specific Eftpos pinpad to use. | deviceid: "blue-pinpad" |
purchaseamount | Amount of payment | purchaseamount: 39.95 |
cashamount | Amount of cash out | cashamount: 200.00 |
salephyskey |
fd1.devices.eftpos_status_update
Sent from the server to advise the current status and/or invoke local functions
fd1.devices.update_eftpos_request
Sent from your code to advise changes to the payment transaction. For example, if the user clicks cancel to abort a payment request
fd1.devices.eftpos_payment_complete
Final status from an eftpos payment request.
fd1.devices.direct_eftpos_command
Direct control and interaction with pinpads in order to perform non purchase transactions such as login, reprint.
Available Fields
Name | Description | Example |
deviceid | Specific Eftpos pinpad to use. | deviceid: "blue-pinpad" |
command | Sub Command | command: "logon" |
fd1.devices.set_eftpos_device
Creates or alters a pinpad definition. This endpoint is rarely called, it is not part of normal payment flow
Available Fields
Name | Description | Example | Smartpay | Windcave | EftposNZ | Linkly |
deviceid | Specific Eftpos pinpad to use. | deviceid: "blue-pinpad" | All | |||
provider | Name of EFTpos vendor supplying this pinpad. | provider: "smartpay" | All | |||
registerid | Internal Register Id | registerid: "blue" | ✅ | ✅ | ||
registername | registername: "front counter" | ✅ | ✅ | |||
businessname | Short name of business. Typically displayed on Pinpad | businessname: "Bobs Bones" | ✅ | |||
loginname | User name used for API authentication | loginname: "bb17" | ✅ | |||
loginpass | Password used for API authentication | loginpass: "secret" | ✅ |