Atomia Billing Server

Payment gateways's plugins configuration

49 views 0

Overview

Atomia Billing currently have support for the following payment gateways. In order for the payment gateway to work, you have to provide a valid configuration. You will find configuration examples for the different payment gateways below.

    • Adyen
    • Atomia Prepaid Credit
    • Authorize.Net
    • Dibs Flexwin
    • PayEx
    • PayEx redirect
    • PayPal
    • WorldPay
  • WorldPay XML

Adyen

Atomia supports classic Hosted Payment Pages (HPP) integration with Adyen. To start using Adyen payment gateway you need to configure:

    1. Adyen merchant account in the Adyen panel and
    2. Adyen plugin in the Atomia admin panel.

Configuring merchant account

For the merchant account that you want to use  in Atomia, you should configure:

  1. HPP skin,
  2.  standard notifications and
  3. API user.

Configuring HPP skin

You should generate the HMAC key for the skin that you want to use. Also, you should set the Result URL to billing customer panel site URL that has next format https://{bcp}/adyenHppHandler.axd.

Configuring standard notifications

First, you should add standard notifications from the Server communications page in the Adyen panel.  Then, you should set URL field to Atomia notifications handler URL that has format https://{BCP}/adyenNotificationsHandler.axd. It is important to choose HTTP post option for the Method field.

In order to improve security, we recommend to generate HMAC key for standard notification. The generated HMAC key can be set in Atomia admin panel which will enable signature verification for the notifications. Beside basic authentication, the HMAC signature verification provides additional layer of security for Adyen notifications.

Note that the HMAC key can be configured only for the Standard notifications framework. It cannot be enabled for the Adyen legacy framework Notifications.

Configuring API user

You add a user that Atomia will use to communicate with Adyen API. You should select Web service for the User type while creating the user. Please save the password for the user because you will need it later.

Configuring Adyen plugin

You can configure the Adyen plugin for a reseller from the Atomia admin panel.  You will need next information from the Adyen panel:

  • HPP skin code
  • HMAC key for the HPP skin
  • The API user username
  • The API user password
  • The merchant account name
  • Standard notifications HMAC key

Alternatively, you can configure the plugin with the SQL query, for example:

            INSERT INTO AtomiaBilling.dbo.plugin_configuration
            ([id], [fk_plugin_id], [fk_reseller_id], [key], [value])
            VALUES (NEWID(),
            (SELECT id FROM AtomiaBilling.dbo.plugin WHERE name = 'AdyenHppPaymentMethodPlugin'),
            CAST(CAST(0 AS BINARY) AS UNIQUEIDENTIFIER),
            'Configuration', '
            {
              "AutoCapture": false,
              "HmacKey": "9F819 . . .",
              "MerchantAccount": "your_account",
              "ModificationServiceUrl": "https://pal-test.adyen.com/pal/servlet/soap/Payment",
              "PaymentPageUrl": "https://test.adyen.com/hpp/pay.shtml",
              "RecurringServiceUrl": "https://pal-test.adyen.com/pal/servlet/soap/Recurring",
              "SkinCode": "your_skin_code",
              "SoapPassword": "your_password",
              "SoapUsername": "your_username",
              "NotificationsHmacKey": "32A7E . . ."
              "VerifyNotificationSignature": true
            }');

Atomia Prepaid Credit

No configuration is needed, just enable the plugin by execution the following query

            UPDATE AtomiaBilling.dbo.plugin
            SET enabled = 1
            WHERE name = 'AtomiaPrepaidCreditPaymentPlugin'

Authorize.Net

Steps needed to complete Autohrize.Net configuration:

  1. Retrive configuration details from website.
  2. Modify example configuration with the fetched details.
  3. Execute the query from the example.

Example:

            INSERT INTO AtomiaBilling.dbo.plugin_configuration
            ([id], [fk_reseller_id], [key], [value])
            VALUES (NEWID(), '00000000-0000-0000-0000-000000000000', 'ApiLogin', 'Api Login')

            INSERT INTO AtomiaBilling.dbo.plugin_configuration
            ([id], [fk_reseller_id], [key], [value])
            VALUES (NEWID(), '00000000-0000-0000-0000-000000000000', 'TransactionKey', 'Transaction Key')

            INSERT INTO AtomiaBilling.dbo.plugin_configuration
            ([id], [fk_reseller_id], [key], [value])
            VALUES (NEWID(), '00000000-0000-0000-0000-000000000000', 'TestMode', 'True or false')

Dibs Flexwin

Steps needed to complete Dibs Flexwin configuration:

  1. Retrive configuration details from website.
  2. Modify example configuration with the fetched details.
  3. Execute the query from the example.

Example:

            INSERT INTO AtomiaBilling.dbo.plugin_configuration
            ([id], [fk_plugin_id], [fk_reseller_id], [key], [value])
            VALUES (NEWID(),
            (SELECT id FROM AtomiaBilling.dbo.plugin WHERE name = 'DibsFlexwinPaymentMethodPlugin'),
            CAST(CAST(0 AS BINARY) AS UNIQUEIDENTIFIER),
            'Configuration', '
            {
              "ApiPassword": "Api Password",
              "ApiUsername": "Api Username",
              "CallbackHandlerUrl": "billigpanelurl/dibsHandler.axd",
              "CaptureApiUrl": "https://payment.architrade.com/cgi-bin/capture.cgi",
              "FlexWinUrl": "https://payment.architrade.com/paymentweb/start.action",
              "MerchantId": "MerchantId",
              "RecurringPaymentsDelay": "PT1H",
              "RecurringPaymentsMaxAttempts": 4,
              "TestMode": "true or false",
              "TicketAuthApiUrl": "https://payment.architrade.com/cgi-ssl/ticket_auth.cgi",
              "TicketDelApiUrl": "https://payment.architrade.com/cgi-adm/delticket.cgi"
            }');

PayEx

Steps needed to complete PayEx configuration:

  1. Retrive configuration details from website.
  2. Modify example configuration with the fetched details.
  3. Execute the query from the example.

Example:

            INSERT INTO AtomiaBilling.dbo.plugin_configuration
            ([id], [fk_plugin_id], [fk_reseller_id], [key], [value])
            VALUES (NEWID(),
            (SELECT id FROM AtomiaBilling.dbo.plugin WHERE name = 'PayExCCPaymentMethodPlugin'),
            CAST(CAST(0 AS BINARY) AS UNIQUEIDENTIFIER),
            'Configuration', '
            {
              "AccountNumber": "PayEx account number",
              "EncryptionKey": "PayEx encryption key",
              "RecurringPaymentsDelay": "PT1H",
              "RecurringPaymentsMaxAttempts": 4,
              "ReturnUrl": "billingpanelurl/payExAsyncHandler.axd"
            }');

PayEx redirect

Steps needed to complete PayEx configuration:

  1. Retrive configuration details from website.
  2. Modify example configuration with the fetched details.
  3. Execute the query from the example.

Example:

            INSERT INTO AtomiaBilling.dbo.plugin_configuration
            ([id], [fk_plugin_id], [fk_reseller_id], [key], [value])
            VALUES (NEWID(),
            (SELECT id FROM AtomiaBilling.dbo.plugin WHERE name = 'PayExRedirectPaymentMethodPlugin'),
            CAST(CAST(0 AS BINARY) AS UNIQUEIDENTIFIER),
            'Configuration', '
            {
              "AccountNumber": "PayEx account number",
              "EncryptionKey": "PayEx encryption key",
              "RecurringPaymentsDelay": "PT1H",
              "RecurringPaymentsMaxAttempts": 4,
              "ReturnUrl": "billingpanelurl/payExAsyncHandler.axd"
            }');

PayPal

Steps needed to complete PayPal configuration:

  1. Retrive configuration details from website.
  2. Modify example configuration with the fetched details.
  3. Execute the query from the example.

Example:

            INSERT INTO AtomiaBilling.dbo.plugin_configuration
            ([id], [fk_plugin_id], [fk_reseller_id], [key], [value])
            VALUES (NEWID(),
            (SELECT id FROM AtomiaBilling.dbo.plugin WHERE name = 'PayPalPaymentMethodPlugin'),
            CAST(CAST(0 AS BINARY) AS UNIQUEIDENTIFIER),
            'Configuration', '
            {
            "AllowCreditCards": "true or false",
            "ApiPassword": "Api password",
            "ApiSignature": "Your PayPal signature",
            "ApiUsername": "Api username",
            "PayPalUrl": "www.sandbox.paypal.com",
            "PendpointUrl": "https://api-3t.sandbox.paypal.com/nvp",
            "RecurringPaymentsDelay": "PT1H",
            "RecurringPaymentsMaxAttempts": 4
            }');

WorldPay

Steps needed to complete WorldPay configuration:

  1. Retrive configuration details from website.
  2. Modify example configuration with the fetched details.
  3. Execute the query from the example.

Example:

            INSERT INTO AtomiaBilling.dbo.plugin_configuration
            ([id], [fk_plugin_id], [fk_reseller_id], [key], [value])
            VALUES (NEWID(),
            (SELECT id FROM AtomiaBilling.dbo.plugin WHERE name = 'WorldPayRedirectPaymentMethodPlugin'),
            CAST(CAST(0 AS BINARY) AS UNIQUEIDENTIFIER),
            'Configuration', '
            {
              "CallbackHandlerUrl": "billingpanelurl/worldPayHandler.axd",
              "IadminAuthPw": "Password",
              "IadminInstallationId": "Iadmin Installation ID",
              "IadminUrl": "https://secure-test.worldpay.com/wcc/iadmin",
              "InstallationId": "Installation ID",
              "RecurringPaymentsDelay": "PT1H",
              "RecurringPaymentsMaxAttempts": 4,
              "ServiceUrl": "https://secure-test.worldpay.com/wcc/purchase",
              "TestMode": "true or false"
            }');

WorldPay XML

Steps needed to complete WorldPay XML configuration:

  1. Retrive configuration details from website.
  2. Modify example configuration with the fetched details.
  3. Execute the query from the example.

Example:

            INSERT INTO AtomiaBilling.dbo.plugin_configuration
            ([id], [fk_plugin_id], [fk_reseller_id], [key], [value])
            VALUES (NEWID(),
            (SELECT id FROM AtomiaBilling.dbo.plugin WHERE name = 'WorldPayXmlRedirectPaymentMethodPlugin'),
            CAST(CAST(0 AS BINARY) AS UNIQUEIDENTIFIER),
            'Configuration', '
            {
              "CallbackHandlerUrl": "billingpanelurl/worldPayXmlHandler.axd",
              "MerchantCode": "Merchant code",
              "RecurringMerchantCode": "Recurring merchant code",
              "RecurringPaymentsDelay": "PT1H",
              "RecurringPaymentsMaxAttempts": 4,
              "RecurringXmlServicePassword": "Password",
              "XmlServicePassword": "Password",
              "XmlServiceUrl": "https://secure-test.worldpay.com/jsp/merchant/xml/paymentService.jsp"
            }');

Was this helpful?