NAV Navbar
cURL C/C++ Go .NET Ruby Swift
  • Introduction
  • Getting started
  • Payments
  • Guides
  • Plugins
  • Introduction

    # Document owner:     Kashing Limited
    # Version:            2.2
    # Date:               25/06/2018
    # Support:            [email protected]
    
    // Document owner:     Kashing Limited
    // Version:            2.3
    // Date:               25/06/2018
    // Support:            [email protected]
    
    // Document owner:     Kashing Limited
    // Version:            0.1
    // Date:               25/06/2018
    // Support:            [email protected]
    
    ' Document owner:     Kashing Limited
    ' Version:            0.1
    ' Date:               25/06/2018
    ' Support:            [email protected]
    
    # Document owner:     Kashing Limited
    # Version:            0.1
    # Date:               25/06/2018
    # Support:            [email protected]
    
    // Document owner:     Kashing Limited
    // Version:            0.3
    // Date:               28/06/2018
    // Support:            [email protected]
    

    Welcome to the Kashing API. You can use our API to access Kashing API endpoints, which can get information on our various products and the integration operations required to integration our solution into your business.

    This document is designed to show how to integrate your application with the Kashing Payment Gateway. It contains everything from how to send requests correctly to our API and how to handle responses from our API. There are a number of per-requisites that will be required to integrate with our API these are listed below.

    We have language bindings in JSON, Shell, C/C++, GoLang, .Net and Ruby! You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.

    This API documentation page was created for Kashing. Feel free to edit it and use it as a base for your own API's documentation.

    Getting started

    Authentication

    # This is a simple curl command
    
    // This is some C/C++ code
    
    # This is some GO code
    
    # This is some VB code
    
    # This is some Ruby code
    

    In order to use our API you must first request an account. This can be done by contacting Kashing by email on [email protected] or going to our website to request an account.

    Environment URL Link
    Development https://staging.kashing.co.uk Sign In
    Production https://frontend.kashing.co.uk Sign In

    Once your account has been activated you can proceed to log into your online account. You will find the following information displayed on the API tab under the Organisation link:

    Information Required Description
    API Address Yes API server URL to send requests to
    Organisation ID Yes Unique identifier and also your Merchant ID
    Key Yes Keep this secure as it is used to sign your requests

    Make note of these parameters as it will be required to proceed with the next step of the API integration.

    Authenticate your account by including your credentials in API requests. You can manage your API keys in the Dashboard.

    Requirements

    Kashing as a payment solution is agnostic from the type of technology you wish to use. We have developed our platform to support all current and future systems. As long as it meets the below minimum conditions you will be able to enable the technology to facilitate payments.

    Protocol Signature

    Request

    {
        "merchantid": "1",
        "refundamount": "5",
        "orderdescription": "Test transaction",
        "transactionid": "1320145192f1e87157dc248541cd",
        "psign": "154f150b460bdf95a2784aab001ccdc0537aa7c1"
    }
    

    Successful response

    {
        "responsecode": 1,
        "reasoncode": 1
    }
    

    Error response

    {
        "responseCode": 3,
        "reasonCode": 104
    }
    

    Every request that is sent to the gateway requires some form of authentication, the most common of the authentication methods is the use of protocol signing, this will be referred to as the "psign" from now on. This is a method whereby we use a one way hash of your secret key + the data which you have sent. This creates a very strong value for determining if you are the person who is supposed to be sending the request.

    To create the psign for the packet, you will need to create a string of all the parameters in the order of which they are sent, salt this string with the secret key found for the merchant and then do a SHA1 hash of this string.

    It is important to preserve your order of the parameters sent.

    For the above bodies, we will use a key test Append the key in front so the constructed string before hashing will look like this:

    String: test15Test \"transaction\"1320145192f1e87157dc248541cd

    Now perform a SHA1 hash calculation on the string to produce the psign:

    psign: 3990e9d49dfad1410da1ca6925d7e9433bbcb55a

    You can use the following link to try it for yourself

    API Response Codes

    Nearly every request that is made to the gateway API will have a Response which will contain a Response and Reason code. Listed below are the possible Response and Reason codes, all other codes not represented in this document are to be treated as errors.

    Response Codes

    Code Detail
    1 Transaction is approved
    2 Transaction is declined
    3 Error
    4 Approved Redirect
    5 Customer canceled transaction
    6 Customer pending approval from bank
    10 Card Storage Only
    501 Authentication Failure Throttling

    Reason Codes

    Code Detail
    1 Approved and Success
    2 Declined
    3 Refunded
    4 Redirect
    5 Cancelled
    6 Pending Approval
    7 Database Error
    8 Invalid Transaction
    9 Unknown Merchant
    10 Card Storage
    100 Connection Not Secure
    101 Invalid HTTP Method
    102 Field Missing
    103 Field Invalid
    104 Authentication Failed
    105 General Error
    107 Anti Fraud
    108 Bank Redirect
    109 Transaction Not Found
    110 Transaction Is Invalid
    111 MID Is Invalid
    112 Request Duplication
    113 Service error
    140 Refund Not Supported
    160 Recurrent Not Supported
    170 Invalid MID
    171 Invalid MID Card Not Supported
    172 Invalid MID Currency Not Supported
    173 Encryption Error
    175 Transaction Completed
    176 Recurrent velocity

    Magic Cards

    All card information is directly submitted to Kashing servers. Any information submitted will be stored so please be careful not to submit sensitive information during your testing process. Please use the below listed magic card numbers instead of actual data.

    Description Value
    MasterCard Card Number 5223450000000007
    Expiry Date 12/2025
    CVV2/CVC2 Code 090
    Description Value
    MasterCard Card Number 5223450000000015
    Expiry Date 12/2025
    CVV2/CVC2 Code 353
    Description Value
    MasterCard Card Number 5186150000002228
    Expiry Date 12/2025
    CVV2/CVC2 Code 222
    Description Value
    MasterCard Card Number 2223000010175716
    Expiry Date 12/2019
    CVV2/CVC2 Code 384
    Description Value
    MasterCard Card Number 2223000010175724
    Expiry Date 12/2019
    CVV2/CVC2 Code 592
    Description Value
    Visa Card Number 4176661000001015
    Expiry Date 12/2018
    CVV2/CVC2 Code 281
    Description Value
    Visa Card Number 4176661000001023
    Expiry Date 12/2018
    CVV2/CVC2 Code 720
    Description Value
    Visa Card Number 4176661000001031
    Expiry Date 12/2018
    CVV2/CVC2 Code 681

    Payments

    The concept behind the Kashing API is that every transaction request that is made to Kashing is done in 2 steps. This is called SPR, (Simple Payment Request). SPR enables the merchant application to initialise a transaction, exchange this information for a "token" or transaction id and complete the transaction when and where they wish.

    Some example cases:

    Init Transaction

    Example request

    {
      "transactions": [
        {
          "merchantid": 167,
          "amount": "1000",
          "currency": "GBP",
          "returnurl": "https://merchant.com/browsersuccess",
          "webhook": "https://server-to-server.merchant.com/notify",
          "merchanturl": "https://merchant.com/continue-shopping",
          "description": "1 x Test order from",
          "language": "en",
          "email": "[email protected]",
          "phone": "07770000000",
          "firstname": "Barry",
          "lastname": "O’Conner",
          "address1": "Flat 6 Primrose Rise",
          "address2": "347 Lavender Road",
          "city": "Northampton",
          "postcode": "NN17 8YG",
          "country": "UK",
          "datetocomplete": "2022-01-01",
          "uid": "O-99999",
          "pid": "232",
          "processtype": 1,
          "method": "1",
          "psign": "3A4690BB138DA0E479BAFAAAE0F57CDAB4EFCD64"
        }
      ]
    }
    
    // TBD
    
    # TBD
    
    Public Function Init_Transaction(amount As String) As String
        Dim transactions As List(Of Transaction) = BuildTransaction(amount)
        Dim json As String = ToJson(transactions)
        Dim jsonConcate As String = StringUtil.getValuesFromJson(json)
        Dim psign As String = StringUtil.PSign(OrgSecret, jsonConcate)
    
        transactions.Item(0).psign = psign
        json = ToJson(transactions)
        json = "{""transactions"":" + json + "}"
        Dim uri As Uri = New Uri(InitTransaction)
    
        Dim output = ServiceCall(uri, json)
        Return output
    End Function
    
    
    path = 'json/transaction/init'
    params = {
      # Add parameters here
    }
    
    # Create URI
    uri = URI(File.join('https://api.kashing.co.uk', path))
    
    http = Net::HTTP.new(uri.host, 8443)
    http.use_ssl = true
    
    request = Net::HTTP::Post.new(uri)
    request['Content-Type'] = 'application/json'
    request['Accept'] = 'application/json'
    request.body = JSON.generate(params)
    
    response = http.request(request)
    if response.code == '200'
      JSON[response.body]
    end
    
    // TBD
    

    Success Response

    {
      "results": [
        {
          "responsecode": 4,
          "reasoncode": 1,
          "merchantid": 167,
          "uid": "O-99999",
          "token": "4G5RaqSexON",
          "amount": 1000,
          "currency": "GBP",
          "redirect": "https://staging-backend.kashing.co.uk/transaction/serve?ID=4G5RaqSexON"
        }
      ]
    }
    

    Error Response

    {
      "results": [
        {
          "responsecode": 3,
          "reasoncode": 104,
          "merchantid": 167,
          "uid": "O-99999",
          "token": "lbWrCh45qQf",
          "amount": 1000,
          "currency": "GBP",
          "redirect": "https://staging-backend.kashing.co.uk/transaction/serve?ID=lbWrCh45qQf",
          "error": "Psign failed"
        }
      ]
    }
    

    The first step is Initialise the transaction. This method is used to fill non sensitive information about the transaction and customer into the Kashing system, which will then create a transaction token for you. In order to be able to submit the sensitive card information you will need to reference the token. While testing ensure that you don't submit active PAN numbers, please contact Kashing for test PAN numbers.

    Type: POST

    Path: /transaction/init

    Parameter Type Description
    merchantid Integer Kashing Merchant ID
    amount String The amount must be in cents i.e: Use 100 for £1.00
    currency String (Optional) The currency of the transaction ISO 4217: GBP, EUR, USD, ZAR
    returnurl String The URL for the browser's return https://webshop.kashing.co.uk/thanks
    merchanturl String Merchant default fallback URL https://webshop.kashing.co.uk/cart/id=xxxx
    webhook String (Optional) Webhook URL for server-to-server result notification https://example.com/webhook?id=23424
    description String Order description for cardholder statement
    language String (Optional) Language for the hosted page ISO 639-1: GBP (default), EUR, USD, ZAR
    email String (Optional) Cardholder email
    phone String (Optional) Cardholder phone
    firstname String First name on the card (Optional for hosted pages)
    lastname String Last name on the card (Optional for hosted pages)
    address1 String Cardholder registered address line 1 (Optional for hosted pages)
    address2 String (Optional) Cardholder registered address line 2
    city String Cardholder registered city
    postcode String Cardholder registered postcode
    country String Cardholder registered country code ISO 3166-1
    datetocomplete String (Optional) Scheduling payments YYYY-MM-DD
    oid String (Optional) Unique order ID
    pid Integer (Optional) Partner ID for commission
    processtype Integer (Optional) Type of transaction 1 = e-commerce, 2 = moto, 3 = e-wallet, 4 = chip & pin
    psign String Calculated SHA-1 HASH 3A4690BB138DA0E479BAFAAAE0F57CDAB4EFCD64

    Common Responses Breakdown

    Field Type
    responsecode What kind of response is this
    reasoncode The reason for this response
    token The Temp ID created for this transaction
    amount How much is to be charged
    redirect Where to redirect your customer. For hosted payment
    results Array for results

    Hosted Payment - Return

    If you have decided to use Kashings' hosted payment page then once the user has filled in their information and it has been processed, they will be returned to a landing page specified in the returnurl.

    Below are a few possible scenarios that the transaction can end in:

    1. Successful transaction The customer is served a thank you before being redirected back to the merchant landing page. E.g. https://www.merchant.com/return?uid=Trans1+Trans2&transactionid=68g6fg86dsfg78478gfw+78bw8s7rbg78rwbs&ResponseCode=1+1&reasoncode=1+1
    2. Failure The customer's transaction fails, they are served an error message and this error code is sent back to the merchant. E.g. https://www.merchant.com/return?uid=Trans1+Trans2&transactionid=68g6fg86dsfg78478gfw+78bw8s7rbg78rwbs&responsecode=3+1&reasoncode=5+1
    3. Cancel The customer chose to cancel the transaction

    After the card holder has been redirected to the above link, you are provided the UID, TransactionID, ResponseCode and ReasonCode. Using the parameters given you can display the appropriate error page and set the transaction ID & Error codes appropriately in your own Data-Base. Please use the "retrieve" transaction API to confirm the status of the transaction.

    Parse the values in the order they are given, Using the above transaction return URL there are 2 transaction responses they should be parsed to give the following data:

    transactionid: 68g6fg86dsfg78478gfw , responsecode: 1 , reasoncode: 1

    Find Transaction

    Request

    curl --request POST \
      --url https://staging-backend.kashing.co.uk/transaction/find \
      --header 'content-type: application/json' \
      --data '{"token":"rJdjuxO1V1i", "psign": "1D0FDF9AE878F49019F902B9A4870BC3002D760A"}'
    
    // TBD
    
    # TBD
    
    Public Function Get_Transaction(token As String) As String
        Dim transaction As TransactionGet = BuildGetTransaction(token)
        Dim json As String = ToJson(transaction)
        Dim jsonConcate As String = StringUtil.getValuesFromJson(json)
        Dim psign As String = StringUtil.PSign(OrgSecret, jsonConcate)
    
        transaction.psign = psign
        json = ToJson(transaction)
        Dim uri As Uri = New Uri(GetTransaction)
    
        Dim output = ServiceCall(uri, json)
        Return output
    End Function
    
    # TBD
    
    // TBD
    

    Success response

    {
        "merchantid": 3,
        "amount": 1200,
        "status": 1,
        "redirect": "https://staging-backend.kashing.co.uk/transaction/serve?ID=rJdjuxO1V1i",
        "amounttocomplete": 0,
        "datetime": "2018-06-30 20:36:27 +0000",
        "datetocomplete": "",
        "transactionid": "rJdjuxO1V1i",
        "currency": "EUR",
        "firstname": "Barry",
        "lastname": "Green",
        "address1": "56",
        "address2": "The Street",
        "city": "London",
        "country": "GB",  
        "postcode": "SW19RD",
        "email": "[email protected]",
        "phone": "+447563829279",
        "description": "EUR Purchase at Sunset B&B",
        "processtype": 4,
        "responsecode": 1,
        "reasoncode": 1,
        "card": "476173******0010",
        "cardissuer": "VISA CREDIT",
        "cardtype": "",
        "cardbin": "",
        "cardexpiry": "1230",
        "gatewaymessage": "Transaction has been executed successfully.",
        "merchantname": "Sunset B&B"
    }
    

    Error response

    { "responsecode": 3, "reasoncode": 102 }
    

    In this method, using the final transactionid you received when submitting a transaction, you can retrieve the transaction information.

    Type: POST

    Path: /transaction/find

    Parameter Type Description
    token The identifier for the transaction to search
    psign String SHA-1 Hash

    Get Transaction Breakdown

    Field Type
    responsecode What kind of response is this
    reasoncode The reason for this response

    Recharge Transaction

    Request

    curl --request POST \
      --url https://staging-backend.kashing.co.uk/transaction/recharge \
      --header 'content-type: application/json' \
      --data '{
        "token": "rJdjuxO1V1i",
        "amount": "1200",
        "description": "Another EUR Purchase at Sunset B&B",
        "psign": "9E6C9953D1FBCD63C3829C745F6999B5F3BB6F68"
      }'
    
    // TBD
    
    # TBD
    
    ' TBD
    
    # TBD
    
    // TBD
    

    Success response

    {
        "token": "rJdjuxO1V1i",
        "amount": "1200",
        "description": "Another EUR Purchase at Sunset B&B",
        "psign": "9E6C9953D1FBCD63C3829C745F6999B5F3BB6F68"
    }
    

    Error response

    { "responsecode": 3, "reasoncode": 10, "error": "card not found" }
    

    If you wish to recharge a transaction you can send a request using a previous transaction processed to recharge. This feature is subject to service permissions. If you have any question or queries please contact our support team.

    Type: POST

    Path: /transaction/recharge

    Parameter Type Description
    merchantid String Integer Ex. (123)
    transactionid String Returned from original transaction
    description String Description of transaction
    amount String The amount you wish to charge ex. 99.99
    psign String SHA-1 Hash

    Refund Transaction

    Request

    curl --request POST \
      --url https://staging-backend.kashing.co.uk/transaction/refund \
      --header 'content-type: application/json' \
      --data '{
        "token": "rJdjuxO1V1i",
        "amount": "1200",
        "psign": "9E6C9953D1FBCD63C3829C745F6999B5F3BB6F68"
    }'
    
    // TBD
    
    # TBD
    
    ' TBD
    
    # TBD
    
    // TBD
    

    Success response

    {
        "token": "rJdjuxO1V1i",
        "amount": "1200",
        "psign": "9E6C9953D1FBCD63C3829C745F6999B5F3BB6F68"
    }
    

    Error response

    { "responsecode": 3, "reasoncode": 102 }
    

    If you wish to refund a transaction you can send a request using the previous transaction ID to refund specifying the amount to refund. Using the ID taken from a successful transaction, you can request a refund for this transaction using the below API call.

    Type: POST

    Path: /transaction/refund

    Parameter Type Description
    merchantid String Integer Ex. (123)
    transactionid String Returned from original transaction
    refundAmount String The amount to be refunded ex. 1.97
    psign String SHA-1 Hash

    Webhook URL

    Request

    POST https://server-to-server.merchant.com/notify HTTP/1.1
    > Content-Type: application/json
    > Accept: */*
    > Content-Length: 854
    | {
    |     "merchantid": 3,
    |     "amount": 4500,
    |     "status": 6,
    |     "redirect": "https://api.kashing.co.uk/transaction/serve?ID=DopDsNlcuki",
    |     "amounttocomplete": 0,
    |     "datetocomplete": "",
    |     "orderid": "ABC0123456789",
    |     "transactionid": "DopDsNlcuki",
    |     "currency": "GBP",
    |     "firstname": "Hein",
    |     "lastname": "de Kock",
    |     "fullname": "Hein de Kock",
    |     "address1": "8 Hobbema Street",
    |     "address2": "Petervale",
    |     "city": "Sandton",
    |     "country": "",
    |     "postcode": "2191",
    |     "email": "[email protected]",
    |     "phone": "+27 82 894 3629",
    |     "description": "1 x Test order edited by eneko",
    |     "processtype": 1,
    |     "responsecode": 3,
    |     "reasoncode": 105,
    |     "card": "523909******5043",
    |     "cardissuer": "MASTERCARD",
    |     "cardtype": "",
    |     "cardbin": "523909",
    |     "cardexpiry": "10/21",
    |     "gatewaymessage": "Sub-merchant ID unknown. Transaction cannot be completed.",
    |     "merchantname": "Sunset B&B"
    | }
    

    Success response

    HTTP Response: 200
    Payment gateway will expect a 200 code after sending the notification.
    

    Error response

    Any HTTP status code rather than 200, will be handled as failure.
    

    If the webhook parameter is given on initialisation, any status change of the transaction will result in a notification being sent to the webhook url.

    Type: POST

    Example Webhook: https://server-to-server.merchant.com/notify

    Guides

    Here you will find documentation regarding various topics relating to the Kashing service.

    Activate E-commerce

    Kashing's e-commerce option automates the payment process and allows you to use various options in taking payments.

    If you have previously set up a Kashing account, it’s easy to start taking online payments today

    1. Set up your payment policy
    2. Update your T&Cs
    3. Switch on e-commerce
    4. Apply your discount code

    SET UP YOUR PAYMENT POLICY

    Log into your Kashing account:

    1. Select Organisation from the menu bar.
    2. Select Payment policy from the tabs.

      HTML5 Icon

    3. Select a policy type from the dropdown list:
      a. Normal Transactions: The full payment is taken at the time of booking.
      b. Split Transactions: A deposit is taken at the time of booking followed by the final balance on the date set in Guestlink (see next section). Choose whether to take a percentage of the total bill (eg 50%) or a flat rate (eg '£'50) and enter the amount.
      c. Charge as you go: Card details are secured in an encrypted form but the card is not charged. The card details are validated at the time of booking to ensure that the number is valid, the card hasn't been reported lost or stolen etc. The card can be charged one or more times for any amount and at any time as necessary.
    4. Click Update.

    Clients wishing to integrate their Guestlink services with Kashing should follow the below mentioned procedure:

    1. Go to eCommerce > Online Payment
    2. Select Kashing from the Account Supplier dropdown
    3. Optionally add a Card Processing Fee as a percentage or a flat rate
    4. If you selected a Split Payment policy, use the Balance Collected boxes to set when the final balance will be taken for each type of accommodation.
    5. Click Save
    6. Select Kashing from the dropdown box(es) under Assign Payment Methods

      HTML5 Icon

    Update your T&Cs:

    1. Go to eCommerce > T&Cs
    2. Ensure that your terms and conditions accurately describe your payment policy.

    Discount Vouchers

    If you have received a voucher code and want to apply it please follow the following steps to activate your voucher:

    1. Click Discounts at the top right
    2. Enter the voucher code
    3. Click Apply


    HTML5 Icon

    Future Payments

    If you have selected a Split Payments policy, a deposit is taken at the time of booking and the balance payment is scheduled for the date you set in Guestlink (see How do I Activate E-Commerce?). You may wish to cancel this future payment if a guest prefers to pay by another method, or amend it if the guest changes their booking date or the final balance changes (guest stays an extra night, discount rate applied).

    1. Select Transactions from the menu bar
    2. Click on the relevant Id (use the search option if necessary


    HTML5 Icon

    To cancel a future payment:

    1. Click Cancel Future Payment button


    HTML5 Icon

    To edit a future payment:

    1. Click Edit Payment
    2. Edit the date the payment should be made or amount to be charged as required
    3. Click Confirm

    Payment Requests

    If a guest is booking over the phone or by email, the most secure way of taking their card details is to use the payment request option. You generate a secure link and email to the guest who then uses it to enter their card details rather than reading them over the phone or writing them in an email.

    Generating a payment request:

    1. Select Payments from the menu bar
    2. Click Generate a Payment Request Link

      HTML5 Icon

    3. Complete the form (note that some fields are mandatory)
    4. Tick Mail the payment link to the customer

      HTML5 Icon

    5. Click Create Payment Request

    Recharge Customer

    The recharge facility allows you to take an additional amount from a customer's card if they take extras such as dinner, parking or attraction tickets during their stay, are a no-show or in the case of loss or damage.

    1. Select Transactions from the menu bar
    2. Click on the relevant Id (use the search option if necessary
    3. Click Recharge
    4. Edit the description of what the payment is for (this appears on the customer's bank statement) if necessary.
    5. Click Confirm

      HTML5 Icon

    6. The transaction will immediately appear at the top of the list. A status of Settling (clock icon) indicates that the payment has been successful.

    Reconciliation

    The Kashing system includes a Statements section that provides detailed information including a full breakdown of each wire transfer to you from Kashing.

    Wire transafers:

    1. Click on Statements in the menu down the left hand side of the screen
    2. Locate a line that refers to a Wire Transfer. The reference number should appear on your bank statement.

      HTML5 Icon

    3. Click on the Transactions column to view details of the Wire Transfer.

    This includes a line for each payment included in the transfer plus additional lines for Kashing Fees and Rewards as applicable (note that Fees and Rewards including vouchers are paid at the end of each month).

    The Kashing system gives you the option to upload a company logo; this is included in printouts/receipts generated by the system.

    1. Click on Organisation from the left hand menu.
    2. Click Browse in the Company Logo box.

      HTML5 Icon

    3. Locate the image on your computer that you would like to use for your profile picture (.jpg or.png) and click Open; the name of the chosen file appears in the Company Logo box.
    4. Click the Update button; your chosen picture appears alongside the words Organisation Profile.

      HTML5 Icon

    Avatars

    The Kashing system gives you the option to upload a profile picture; this is shown in the top right hand corner of the screen when you log in.

    1. Click on your name/organisation name near the top right hand corner of the screen to go to the User Profile screen.

      HTML5 Icon

    2. Click Browse in the Profile Picture box.
    3. Locate the image on your computer that you would like to use for your profile picture (.jpg or.png) and click Open; the name of the chosen file appears in the Profile Picture box.
    4. Click the Save button; your chosen picture appears alongside your name in the top corner of the screen

    Account

    Close my account

    Should you wish to no longer use our service and you want to protect your data from un-authorised access you can and should close your account. By closing your account we will remove all authorisation and access to your detail. Please export or download all the information you might need before closing your account as this will no longer be avaiable to you once you have successfully closed your account.

    1. Select Organisation from the menu bar

      HTML5 Icon

    2. Click the Close Account button
    3. Click OK to the warning message that appears.

    Plugins

    Wordpress

    Image of Wordpress Plugin

    Installation

    Plugin website: WordPress Plugin

    Automatic Installation

    1. When you are logged in to your WordPress dashboard, navigate to the Plugins menu.
    2. Click Add New button.
    3. In the search field, type Kashing and click Search Plugins.
    4. After you find our plugin in the search results, click on it.
    5. In the popup window, you will see plugin details along with the Install Now button. Click it.
    6. When the plugin installation finishes, activate it. You will see a new side menu item: Kashing.

    Manual Installation

    1. First, download the plugin files by clicking the blue Download button located at the top right of this page.
    2. Log in to your WordPress dashboard and navigate to Plugins menu.
    3. Click Add New button.
    4. Click Upload Plugin button.
    5. Click Choose file button and select the plugin .zip file you downloaded in Step 1. When the file is selected, click Install Now button.
    6. When the plugin installation finishes, activate it. You will see a new side menu item: Kashing.

    Plugin Configuration

    1. Navigate to Kashing / Settings menu (located in your WordPress admin dashboard, in the sidebar navigation).
    2. Click the Retrieve Your Kashing API Keys button – that will take you to the latest version of Kashing documentation where you will be explained how to retrieve the plugin configuration data.
    3. After you receive the configuration data in Step 2, fill all 4 fields in the Configuration tab: Test Merchant ID, Test Secret Key, Live Merchant ID, Live Secret Key. The first two are going to be used only if the Test Mode is enabled. When you’re done, click Save Changes button.
    4. For test purposes, it is recommended to use the Test Mode.

    Changing the Currency

    1. Navigate to Kashing / Settings menu and click the General tab.
    2. Choose your desired currency from the Choose Currency dropdown menu.

    Payment Success & Failure Pages

    By default, upon plugin activation, Kashing automatically creates two plugin related pages: Payment Success and Payment Failure. They are being automatically assigned in Kashing / Settings / General tab. You may change those pages content as you wish. You may, of course, set them to be any other page.

    Creating a Payment Form

    1. Navigate to the Kashing menu and click Add New Form button.
    2. Enter the form title and fill out the required fields: Amount and Description.
    3. When you’re done, save the form by clicking the Publish button on the right.

    Inserting a Payment Form

    1. Edit the page or post you wish to insert the payment form on.
    2. Right above the WYSIWYG content editor (next to the Add Media button), you will find Add Kashing Form button. Click it.
    3. A popup window will appear where you will be presented with a dropdown list of payment forms you previously created.
    4. Choose the one you need and click the blue OK button.
    5. A form shortcode will be automatically inserted into your page/post content in a form like: [kashing_form form_id=”XX”] where XX is a unique ID of that particular form.
    6. Save your page/post.

    WooCommerce

    Image of WooCommerce Plugin

    Installation

    Plugin website: WooCommerce Plugin

    Automatic Installation

    1. When you are logged in to your WordPress dashboard, navigate to the Plugins menu.
    2. Click Add New button.
    3. In the search field, type Kashing WooCommerce and click Search Plugins.
    4. After you find our plugin in the search results, click on it.
    5. In the popup window, you will see plugin details along with the Install Now button. Click it.
    6. When the plugin installation finishes, activate it.

    Manual Installation

    1. First, download the plugin files by clicking the blue Download button located at the top right of this page.
    2. Log in to your WordPress dashboard and navigate to Plugins menu.
    3. Click Add New button.
    4. Click Upload Plugin button.
    5. Click Choose file button and select the plugin .zip file you downloaded in Step 1. When the file is selected, click Install Now button.

    Plugin Configuration

    1. Navigate to WooCommerce / Settings menu (located in your WordPress admin dashboard, in the sidebar navigation).
    2. Navigate to the “Checkout” tab and then navigate to “Kashing” tab. This is the main Kashing WooCommerce plugin settings page.
    3. Click the “API Documentation” link – that will take you to the latest version of Kashing documentation where you will be explained how to retrieve the plugin configuration data.
    4. After you receive the configuration data in Step 3, fill all 4 fields in the Configuration tab: Test Merchant ID, Test Secret Key, Live Merchant ID, Live Secret Key. The first two are going to be used only if the Test Mode is enabled. When you’re done, click Save Changes button.
    5. For test purposes, it is recommended to use the Test Mode.
    6. For additional debugging data you may go ahead and enable “Logging”. You will be able to see the plugin logs in WooCommerce / Status / Logs -> Kashing.
    7. After the plugin is correctly set up, you will be able to see a new gateway at the WooCommerce order checkout page.

    Currency Information

    Please keep in mind that as or now, Kashing Payments support only these three currencies: USD, GBP and EUR. You won’t be able to use the Kashing gateway with any other currency.

    Changing the checkout labels

    You may change the text displayed to your customers on the Checkout page regarding the Kashing Payments gateway. Just visit the gateway settings (WooCommerce / Settings / Checkout -> Kashing) and change the Title and Description fields.

    Drupal

    Plugin website: Drupal Plugin

    Features

    Installation

    1. Download the Kashing module (bottom of this page).
    2. Login to your page as an administrator and navigate to Extend menu.
    3. Choose the +Install new module option. You will be redirected to module installation page.
    4. Either upload previously downloaded module .zip file or just paste the module URL. You can also just unzip the kashing module folder and place it directly in /modules/ directory of your page.
    5. Go back to Extend menu. In a Filter by name or description field type in Kashing or scroll the page down to the Kashing module section.
    6. Activate selected module elements (Kashing itself is the main one and is required by the other elements) by marking them out and click an Install button.
    7. If you are not able to mark any of the module elements verify the required modules (click on the module description).
    8. After the CKEditor button or Shortcodes module selection make sure to follow up the instructions under Activating shortcodes functionality and/or Activating CKEditor button functionality section of this page.
    9. Do not forget to clear cache.
    10. After the installation, selected module elements should be available.

    Module elements

    1. Kashing - the main standalone module providing Kashing payments functionality. It allows to configure the payments (API keys) and to create payment form in a separate block.
    2. Kashing Shortcodes - provides Kashing shortcode tag functionality. Just put down [kashing id=[ID] /] in your node body, where [ID] refers to previously created form ID (block machine name). Note: the shortcodes module is required.
    3. Kashing CKEditor button - adds the Kashing shortcode button to CKEditor, which allows to easily choose one of the created forms and place a shortcode directly in selected node.

    Kashing module configuration

    1. Navigate to Extend/Kashing and under the module details click on Configure button. Alternatively go to Administration page and you will find Kashing Payments Settings under the Index tab.
    2. Click the Retrieve Your Kashing API Keys link (Configuration tab) – that will take you to the latest version of Kashing documentation where you will be explained how to retrieve the module configuration data.
    3. After you receive the configuration data, fill all 4 fields in the Configuration tab: Test Merchant ID, Test Secret Key, Live Merchant ID, Live Secret Key. The first two are going to be used only if the Test Mode is enabled. When you’re done, click Save Settings button.
    4. For test purposes, it is recommended to use the Test Mode.
    5. To change the currency or to create success and failure pages select the General tab.
    6. Choose your desired currency from the Choose Currency dropdown menu.
    7. Design the look of both the success and failure page in a standard way using CKEditor. Once again save changes.

    Creating a Payment Form

    1. Navigate to Add New Form tab under the Kashing settings (Similarly to step 1 of Kashing module configuration instruction).
    2. Enter the form title and fill out the required fields: Amount and Description.
    3. The Form ID field fills in by itself but you can change it too. Just remember to use only small letters, numbers and underscore symbol. The Form ID is used in a shortcode functionality to identify created forms.
    4. When you’re done, save the form by clicking Add New Form button.

    Editing Payment Forms

    1. Navigate to Edit Forms tab under the Kashing settings (Similarly to step 1 of Kashing module configuration instruction).
    2. If there are any forms you will see the ID, name, amount and description of all available forms.
    3. To edit a form just click on Edit option associated with the table row. You will be redirected to a block layout edition page.
    4. To delete a form click on the Delete option. Confirm by clicking on Remove button.
    5. To delete multiple forms at once mark out chosen rows checkboxes and click on Delete Forms button.

    Activating shortcodes functionality

    1. To enable the shortcodes functionality download, install and activate shortcode module.
    2. Navigate to Configuration / Text formats and editors.
    3. Choose one of the CKEditor variants by clicking the Configure button under the Operations column.
    4. Make sure that Shortcodes checkbox under the Enabled filters is selected
    5. Scroll down to the Filter settings section and varify if the Enable Kashing shortcode is checked.
    6. If necessary save changes by clicking Save configuration button.
    7. Now you are able to use [kashing id=[ID] /] shortcode. Just change the ID to previously created form ID (machine name).

    Activating CKEditor button functionality

    1. Navigate to Configuration / Text formats and editors.
    2. Choose one of the CKEditor variants by clicking the Configure button under the Operations column.
    3. In the Toolbar Configuration section drag and drop Kashing button to the desired place in CKEditor Active toolbar.
    4. Save changes by clicking Save configuration button which can be find at the bottom of the page.
    5. You should now be able to see the Kashing button during a content edition. If not make sure you are using a correct Text format.

    Magento

    Plugin website: Magento Plugin

    Please get in touch with [email protected] for information about Magento integration.