PostFinanceCheckout JTL5 Documentation

Documentation

1Prerequisites

If you don’t already have one, create a PostFinance Checkout account.

2Installation

  1. Download plugin from GitHub.

  2. Unzip the downloaded zip file and upload its content into the plugins directory of the JTL5 store (via FTP-Client)

  3. Log in to the backend of your JTL5 store.

  4. Navigate to Admin → Plug-in manager. Select PostFinanceCheckout Payment, mark the checkbox and on the bottom right corner click Install.

    plugin installation

3Configuration

  1. Navigate to Installed plug-ins → PostFinanceCheckout Payment in your JTL5 backend and click the tab Plugin Configuration. Enter the PostFinance Checkout Space ID, User ID and Authentication Key that you can create a application user.

    plugin configuration

    If you enter correct credentials and click Save button your configuration will be saved and imported existing active payment methods. You can see payment methods at Payment methods section in your JTL5 backend.

4Payment method configuration

4.1Setup

The PostFinance Checkout payment method configurations are synchronized automatically into the JTL5 store and they are activated by default.

payment method configuration

4.2Customization

If you want to change the payment method description, title, logo, etc you need to do this in the payment method configuration. Changes will be synchronized automatically.

5State graph

The Payment Process of PostFinance Checkout is completely standardized for every payment method you can process. This gives you the ability to configure a payment method or processor without changes inside of your JTL5 configuration. An overview about the states and the payment processes of PostFinance Checkout can be found in the Payment Documentation.

In the following section we provide you an overview about how the PostFinance Checkout states are mapped into the JTL5 State graph for orders and payment states.

5.1State mapping of JTL5 orders

We currently do not change the Order status. We only change the Payment status, and the Delivery status.

5.1.1General remarks regarding order statuses

We recommend that you only change the Order status once the Payment status has reached a final state.

5.2State mapping of JTL5 payment status

Below you find a diagram that shows the state machine of JTL5 for payment status including additional information for the state transitions.

stage graph order
  1. If the transaction is Authorized in PostFinance Checkout, the JTL5 order payment status is marked as In Progress.

  2. If the transaction fails before or during the authorization process, the JTL5 order payment status is marked as Failed.

  3. If the transaction fails after the authorization, the JTL5 order payment status is marked as Cancelled.

  4. If the transaction invoice in PostFinance Checkout is marked as Paid or Not Applicable, the JTL5 order payment status is marked as Paid.

5.2.1General remarks regarding payment statuses

We recommend that you do not change the payment status manually. If you do so, it may be changed again by the plugin.

5.3State mapping of JTL5 delivery status

Below you find a diagram that shows the state machine of JTL5 delivery status including additional information for the state transitions.

stage graph delivery
  1. If the transaction is Confirmed status in PostFinance Checkout, the JTL5 order delivery status is marked as Hold.

  2. If the transaction in PostFinance Checkout is marked as Fulfill, the JTL5 order delivery status is marked as Open.

  3. If the transaction is in Decline, Failed or Voided, the JTL5 order delivery status is marked as Cancelled.

6Transaction management

You can capture, cancel and refund transactions directly from within the JTL5 backend. Please note if you refund, void or capture transactions inside PostFinance Checkout the events will be synchronized into JTL5. However, there are some limitations (see below).

6.1Complete (capture) an order

You have the possibility for your transactions to have the payment only authorized after the order is placed. Inside the connector configuration you have the option, if the payment method supports it, to define whether the payment should be completed immediately or deferred.

In order to capture a transaction, open the order and click on the Complete button.

Note
When the completion is pending in PostFinance Checkout the order will stay in pending state.
capture transaction

Deferred payment completion

Retailers often have the case that they want to authorize transactions only and start the fulfillment process once all items are shippable. This is also possible with PostFinance Checkout.

However, certain processes should be followed. If you have configured payment completion to be deferred you should capture the transaction before you initiate the shipment as it can always happen that a completion fails. If you want to be sure that you do not ship items for which you have not been paid you should postpone the shipment until the fulfill state is reached. Initially the transaction will be in the Authorized state in PostFinance Checkout and In Progress in JTL5. If you want to start the fulfillment process make sure you initiate the completion process as described above. Once the completion was successful the order will switch into the Fulfill state in PostFinance Checkout and into Paid state in JTL5. You can now start the fulfillment process.

6.2Void a transaction

In order to void a transaction, open the order and click on the Cancel authorization button.

Note
You can only void transactions that are not yet completed.

6.3Refund of a transaction

You have the possibility to refund already completed transactions. In order to do so, open the captured order. By clicking on the Refund button, the window for refunds will open. In case the payment method does not support refund, you will not see the possibility to issue online refunds.

You can carry out as many individual refunds as you wish until you have reached the total amount of the original order. The status of the order then automatically switches to complete.

Note
It can take some time until you see the refund in JTL5. Refunds will only be visible once they have been processed successfully.

6.4Limitations of the synchronization between PostFinance Checkout and JTL5

Please note that captures, voids and refunds done in PostFinance Checkout are synchronized. However, there are some limitations. Inside PostFinance Checkout you are able to change the unit price and the quantity at once. This can not be done in the JTL5 backend. We therefore recommend that you perform the refunds always inside the JTL5 backend and not inside PostFinance Checkout. If a refund cannot be synchronized it will be sent to the processor but it could be that you do not see it inside your JTL5 backend.

You can find more information about Refunds in PostFinance Checkout in our Refund Documentation.

6.5Tokenization

In case the payment method supports tokenization you can store the payment details of your customer for future purchases. In order to use this feature make sure that the One-Click-Payment Mode in your payment method configuration is set to allow or force storage.

Note
Tokenization is not available for guest checkouts.

7Error logging

The extension uses the JTL5 logging functions which are automatically active in your JTL5 store. The extension will log various unexpected errors or information which can help identify the cause of the error. You can find the logs on the server of your store in the var/log/ folder.

8FAQ

8.1How can I make the payment methods appear in the checkout?

Make sure that you followed the Configuration section by stating your PostFinance Checkout space ID and application user’s access information in the JTL5 backend. By saving the configuration form the synchronization of the payment methods and the set up of the webhooks are initiated.

If this does not solve the problem, it could be that you use a special fee or coupon module that we do not support. Try to disable this plugin and see if it helps. The payment methods are only displayed if the plugin’s total calculation matches the actual order total.

9Support

If you need help, feel free to contact our support.