This example shows how to set up the MDB Payment utility to pay for a print from the photo booth’s sharing screen using a credit card reader in authorization first/idle mode. The photo booth app in this example is Breeze RemotePro.
In this example the photo booth takes the photos and displays the sharing screen with options to share the photos for free or to pay per print.
Prerequisites
To use the MDB Payment utility you need to be running Breeze RemotePro v3.16 or later.
First check that the credit card reader is running in MDB level 1 for authorization first/idle mode. If the Nayax VPOS Touch is not set to MDB level 1 you may need to contact Nayax support to request them to set it to MDB level 1.
Create an Event
Create a simple photo booth event in Breeze RemotePro with printing and emails selected for the sharing options. After creating the event edit the settings to change the output from “Print and save JPEG copy” to “JPEG copy only” so that it creates a JPEG copy of the print layout but doesn’t print it. Then click on “Print settings…” in the “Output Settings” dialog and enable payment mode. When the user taps on the print touchscreen action in the sharing the screen the photo booth will display the share_print_payment.jpg screen and wait for a “Payment accepted” touchscreen action before printing the photos.
In Breeze RemotePro’s “Photobooth Settings” dialog set “Start options” to “Touchscreen” so that it can accept commands from the MDB Payment Utility.
Run Breeze RemotePro in photo booth mode and run the MDB Payment utility. The MDB Payment utility screen should look something like this:
Step 1: Add an event to disable the card reader
It’s a good idea to disable the card reader until the share_print_payment.jpg
screen is displayed otherwise users might try to scan their credit card before the photo booth is ready.
Click on the “Settings…” button to display the settings dialog:
Check that “Selection first/Always idle mode” is not selected and the “Mode:” dropdown list is set to “DSLR Remote Pro”.
Then click on the “Add action…” button to add an action:
Action Name
Give the action a suitable name e.g. “Disable reader” and then set the trigger conditions in the section below. What we want to do is disable the card reader when the photo booth is displaying the ready.jpg screen if the card reader is enabled.
Pattern Trigger
The “Pattern” trigger condition is set to a pattern that matches the photo booth screen e.g. ready.jpg. If “Use regular expression” is not selected the pattern string will match any part of the photo booth screen path. In the screenshot above the screen path is shown as: C:\Users\chris\Documents\PhotoboothImages\copies2\ready.jpg
which can be matched by setting the pattern to ready.jpg
. More complex pattern matches can be defined by selecting “Use regular expression” and entering a regular expression such as .*ready\.jpg
for the pattern.
Add the IDLE Action
We only want to disable the card reader if it is enabled (i.e. the state is IDLE) and so we set the reader state in the trigger conditions to IDLE.
Next we need to specify the action to take when the trigger conditions are met. In this case all we need to do is disable the card reader.
The “Add action” dialog should look something like this:
Save the Action
Click OK to save the action and the settings dialog should look something like this:
Step 2: Enable card reader when the print payment screen is displayed
We need to enable the card reader when the print payment screen is displayed so that the user can scan their credit card to make the payment. To do this click on “Add action…” in the settings dialog and name the action “Enable reader”. In the trigger conditions section set the pattern to share_print_payment and the reader state to INIT.
Add the INIT Action
In the actions to perform section set enable reader.
The “Add action” dialog should look something like this:
Step 3: Request payment when the user scans their card
When the user scans their card the state changes to CREDIT and we want to request payment. To do this click on “Add action…” in the settings dialog and name the action “Request payment”. In the trigger conditions section set the pattern to share_print_payment and the reader state to CREDIT.
Add the CREDIT Action
In the actions to perform section set the “Request payment, amount:” to the amount, e.g. for $1 set this to 100, and set the required product number. The product number can be set to anything and is recorded in the logs that can be accessed via the Nayax web dashboard. This can be useful if you have different options at different prices and want to keep a record of which is selected.
The “Add action” dialog should look something like this:
When the payment has been requested the status changes to VEND. If the payment is authorized the status will change to RESULT but if it fails it will change to IDLE.
Step 4: Payment Authorized
Define a new action named “Payment authorized” that is triggered when the photo booth is displaying the print payment screen and the reader state is RESULT. In the actions to perform section set the photo booth command to “Payment accepted”.
Add the RESULT action
The “Add action” dialog should look something like this:
The settings screen should show all four actions and look something like this:
Check it works
Click “OK” in the settings screen to return to the main screen. Then start the photo booth and check that the card reader is disabled. Tap the start button on the photo booth to start the shooting sequence and tap the print button when the sharing screen is displayed. Check that the card reader is enabled when the print payment screen is displayed. Then scan a credit card (or the Nayax technician mode card) to pay for the print. When the payment is authorized the photo booth should print the photos and return to the sharing screen.
The main screen should look something like this:
[PICTURE status ex3.PNG]
Refinements
After the payment has been accepted the card reader will return to the IDLE state and display the contactless payment animation. There is nothing to stop the user from scanning their credit card again event though the photo booth is not ready for the next payment. To prevent this we could add an action to disable the card reader when the share.jpg screen is displayed and the reader status is INIT:
If Payment Fails
If the payment fails the card reader will return to the IDLE state and the transaction status will be TransactionFailed but the photo booth will still be displaying the print payment screen. When this happens we could add an action to close the print payment screen by sending a “Payment cancelled” command to the photo booth:
Loading Sample Actions
The actions used in this example can be loaded by clicking on the “Load…” button and loading the MDB_authorization_first_ex3.xml settings file.