Payson Checkout – Introduction


Introduction


Payson Checkout 2.0 is a payment module that lets you receive payment through Payson's payment system of the same name in your WooCommerce store.

In Payson Checkout 2.0, Payson has discarded all the extra steps at checkout. The payment window is directly integrated into your e-shop and lets your customers pay with a single click. All purchases are based on the service Invoice by email. The customer can pay for their purchase later, or immediately by card or internet bank.


Payson Account


To get started with Payson Checkout 2.0 you will need an account with invoice purchasing activated. If you don’t have an account, you can open one here. Payson promises to have you up and running within 24 hours.


Test account


If you want to test the module before opening for actual purchases, you can create a test account here.

In addition to your test credentials from Payson you also need to activate Test mode in the plugin to complete testing purchases.

To mark a purchase as a test, you must use the following customer information:
Personal ID: 4605092222
Zip code: 99999

To complete a test purchase using a debit card, please use the following card details:
Card number: 4581 1111 1111 1112
Expiry date: Any date
CVC: Any number between 100 and 500

E-mail to use for the test account: testagent-1@payson.se


Installation


  1. Login to WordPress Admin. Navigate to Plugins → Add New (in the left column menu).
  2. Click on the Upload Plugin option, then click Browse to select the zip file from your computer. Once selected, press OK and press the Install Now button.
  3. Activate the plugin.

Required WordPress/WooCommerce settings


To enable the callback functionality, enabling Payson to send data back to your store, you must ensure your settings comply with the following:

  • Make sure that you have enabled pretty permalinks in your WordPress installation. Otherwise callbacks from Payson back to your store won’t work and orders will not be updated with the correct order status/information.
  • Callbacks do not work in a test environment that is not publicly accessible. If you are using a local development environment we recommend using a service similar to ngrok.
  • In some cases, firewalls and security software, such as Wordfence, can block server-to-server communication. If you are experiencing problems, try to temporarily disable your security measures to see if they might be interfering with Payson callbacks.
  • To get the order total to match between WooCommerce and Payson you need to configure WooCommerce to display prices with 2 decimals. More information about displaying of prices and how it can cause rounding issues can be found in this article.

Currencies


The Payson Checkout plugin supports SEK and EUR as these are the currencies supported by Payson.

When it comes to questions regarding supported currencies you should always talk to your payment provider as any limitations within the plugin is set by the currencies the provider supports.

Please note that there can be limitations in the agreement you have with your payment provider.
You can read more about this at the Payson website.

Currency with two decimal points


To make sure prices and sales tax for your products is communicated correctly between WooCommerce and Payson you have to ensure that the currency settings in WooCommerce is set to use two (2) decimal points. This is set under WooCommerce → Settings, in the General tab. The setting is called Number of decimals.

If you do not want integer prices to be shown with two decimal places (i.e 200.00kr), we have a code snippet in the post below. 

For details on why this is the case, please see our blog post on the subject.


Configuration


  1. Go to: WooCommerce → Settings → Payments → Payson.
  2. Enable/Disable - Check this to enable Payson.
  3. Title - Enter the title for the payment method displayed in the checkout
  4. Description - Enter the description of the payment method displayed in the checkout page.
  5. Other payment method button text - Customize the Select another payment method button text that is displayed in checkout if using other payment methods than Payson Checkout. Leave blank to use the default (and translatable) text.
  6. Agent ID - Enter your Agent ID as given to you by Payson.
  7. API Key - Enter the API Key given to you by Payson.
  8. Test mode - Check this to enable Payson Checkout test mode.
  9. Enable Order Management - Check this if you want to activate order handling in Payson directly from WooCommerce. This means that transactions that have their status changed from Processing to Cancelled in WooCommerce are canceled in Payson, and that completed transactions trigger an invoice from Payson (if applicable) when the status is set from Processing to Completed in WooCommerce.
  10. Color Scheme - Select which of the color schemes available from Payson to use.
  11. Debug Log - Check this to enable logging and save debug messages to the WooCommerce System Status log, found under WooCommerce → Status → Logs

Plugin order flow


This is how the order process is structured:

  1. Customer navigates to the checkout page in WooCommerce. If Payson Checkout is the selected (or only) payment method, a Payson order id is created.
  2. When the customer clicks the Place order button in Payson Checkout, a JavaScript event is triggered by Payson.
  3. The standard WooCommerce checkout form is submitted by the Payson Checkout plugin and a pending order is created in WooCommerce. This order has not yet been paid for and you should not change the status to Processing/Completed manually.
  4. If the order creation went well, the Payson Checkout plugin responds with a true message in the JavaScript event (if something went wrong during the order creation process the Payson Checkout plugin will respond with a false message in the JavaScript event and Payson will not finalize the purchase. Instead an error notice will be displayed for the customer). 
  5. Provided that the Payson Checkout plugin respond with a true message, Payson then finalizes the purchase in their system.
  6. Payson redirects the customer to the confirmation URL.
  7. The Payson Checkout plugin redirects the customer to the order received page and updates the order status to Processing in WooCommerce.

Pay for order


The Payson Checkout plugin supports the function Pay for Order.

Pay for Order gives the merchant the possibility to create an order in the WooCommerce admin and then send a mail to the customer that includes a link to pay for the order.

The customer information (address, email, phone etc.) initially entered by the admin overrides any information the customer might enter after following the link, so this is not a way for the customer to update any information, only to pay for an agreed order.


Order management


When an order is created in WooCommerce, and a reservation or transaction number exists in Paysons system, you can manage the order in Payson directly from WooCommerce.

Get started with order management

To get started with order management, activate the setting Enable order management in the modules settings.

Cancel an order

  1. Order status in WooCommerce must be Processing and a transaction ID must be saved in the order.
  2. Navigate to the order you wish to cancel by going to WooCommerce → Orders and clicking the order.
  3. In the order details, select the field labeled Status. Set this to Cancelled.

  4. Click the button labeled Update in the top right of the page.

If the cancelation is successful, a note is added to the order with the text Payson Checkout reservation was successfully cancelled.

Activate an order

  1. Order status in WooCommerce must be Processing and a transaction ID must be saved in the order.
  2. Navigate to the order you wish to activate by going to WooCommerce → Orders and clicking the order.
  3. In the order details, select the field labeled Status. Set this to Completed.

  4. Click the button labeled Update in the top right of the page.

If the activation was successful, a note is added to the order with the text Payson Checkout reservation was successfully activated.

Refunding an order

  1. Order status in WooCommerce must be Completed and a transaction ID must be saved in the order.
  2. Navigate to the order you wish to refund by going to WooCommerce → Orders and clicking the order.
  3. In the  Order items box, press the Refund button.

  4. Here you can choose to refund the full sum for an item (1), part of the sum (2) or shipping (3).
    If you enter a sum manually (2) you also need to enter the correct tax to refund manually, as opposed to when you refund the full sum for an item in which case the tax is automatically calculated. With shipping (3) you need to enter the amount manually, as well as the tax.  Not to be confused with the Refund manually button.
  5. Click Refund via Payson

If the refund was successful, a note is added to the order with the text Payson Checkout reservation was successfully refunded.


Troubleshooting


If the checkout section is not shown after you have completed the steps as detailed here, and there are no error message, it is recommended that you temporarily enable WP_DEBUG in wp-config.php. Read more about WordPress debugging here.

This will provide more information that you can use to solve the problem, or that you can provide when reporting the problem to us. This information will help us assist you further.


Compatibility with themes and other plugins


Payson Checkout uses its own template file for displaying the checkout page and should work with most themes. However, the plugin is only tested with the Storefront theme and we do not guarantee that it will work with other themes. Common situations when errors occur are:
– Themes/plugins with customized template files for WooCommerce checkout page.
– Themes/plugins that modifies the checkout into a multi step checkout.

We always recommend you test a theme before using that theme in your live store. If required, contact the developer of your shop for assistance in making modification. 
Krokedil does not offer assistance in modifying your theme or plugin as part of our regular support.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.