Plugin - Square (Create custom order forms)
The RSForm!Pro Square Payment Integration Plugin allows you to add a new payment method to the existing Payment Package of RSForm!Pro.
Downloading and Installing the plugin
Download
You can download the plugin by logging with your purchase user, then head to Downloads > My Downloads > RSForm!Pro - view all plugins and modules > RSForm!Pro Files > Plugins > "Square Plugin x.x".
Install
In the backend of your Joomla! installation go to the Extensions > Install/Uninstall page, and install the plugin. Next thing is to publish the plugin, to do this go to Extensions > Plug-in Manager, search for the "System - RSForm! Pro Square Plugin" plugin and publish it.
Configuring the plugin
Configuring the Square payment gateway can be done from Components > RSForm!Pro > Configuration > Square tab:
- Access Token: Each Square application holds an access token, this is also available in your Square account. The Access token can be found in the 'Credentials' tab while editing the Square App.
- Location ID: available in your Square account. The Location ID can be found in the 'Locations' tab while editing the Square App.
- Webhook Signature Key: the Webhook signature key, available in your Square account. The Webhook Signature Key can be found in the 'Webhooks > Subscriptions' tab while editing the Square App.
- Webhook URL: the unique Webhook URL that needs to be added in the Webhook Subscription. Go to your Square account > Webhooks > Subscriptions > Add a new subscription > paste the URL here.
- Sandbox Mode: Yes / No - Choose if you want to use the Squareup sandbox or the live system.
- (optional) Tax Type: Percent (%) / Fixed Rate
- (optional) Tax Value: Amount of tax. Total amount of the transaction must include this amount.
When configuring the webhook subscription, make sure to check the following events: order.updated, payment.updated.
How to use the Square plugin
After configuring the Square parameters from Components > RSForm!Pro > Configuration > Square tab, all you need to do is to make sure that you're adding the dedicated payment fields in order to be properly redirected to the Square payment processor.
Making sure the form is sent to the payment processor
The payment details will only be sent to the Square payment processor if the user selects Square from the "Choose Payment" field before submitting the form.
The "Choose Payment" field is used in order to allow the users to choose their payment method. It displays the payment methods added to the form in either a Dropdown or Radio Group. It can be shown on the form (allowing the user to select his preferred payment method) or not (forcing the user to pay using the default payment method).
If you are using a single payment method and you need to hide the Choose payment field, this can be achieved by editing the field and setting to "No" the "Show in front-end?" option within the "Attributes" tab.
For the Square payment method to be available within the Choose payment field, the (Payment) Square field needs to be added in the form.
Adding costs
In order to receive funds using RSForm!Pro and Square payment plugin, your form needs to include a cost. In order to add costs to your form you can use any of the following fields:
- Single Product - Adds a single product to the form. For this type of field you can set up a caption, description and a price.
- Multiple Products - Adds the ability to display multiple products to be purchased either in a Dropdown or a Checkbox. Its items need to be specified in the following manner: price | label (ex: 15 | T-shirt)
- Donation - Allows the user to type in the amount to be paid inside a standard Textbox.
- Quantity - Allows the user to choose the amount of products (simple or multiple).
- Total - This field is used alongside the Donation, Single and Multiple Products fields. It calculates the total price to be paid.
Version 1.1.2
- Updated - Payments are now sorted in the 'Choose Payment' field according to the same order in the form.
Version 1.1.1
- Added - Joomla! 5 native compatibility - no longer needs the 'Behaviour - Backward Compatibility' plugin.
Version 1.1.0
- Updated - Bumped minimum requirements to use Joomla! 3.10.0 and PHP 7.4
- Updated - Square PHP SDK Library updated to v33
- Updated - Using newer API's long URL instead of short URL when redirecting to the payment page.
Version 1.0.1
- Fixed - In some cases with slower servers the Square webhook was resent multiple times causing duplicate emails to be sent.