Payment processing is the first step of the sequence, that enables the users to go through authentication and make a payment.

Different information can be included in the API request but there are some specific objects that are required for a successful authentication process.

In our case the workflow of the payment processing consist the below four steps: Create API Request, Receive API Request Response, iSignthis Transaction page and Result page.

1. Create API  Request

The API request consists the below four steps: Method, URL, Header and Body.

1.1 Method

Method used is POST.

1.2 URL

The API is accessed from the Request URL. This is a combination of our URL and the addition of the following text at the end of the URL: “/v1/authorization/”

Example: https://stage-gateway.isignthis.com/v1/authorization/

1.3 Header

Fill in the appropriate header information. The API Header information is provided by the iSignthis Merchant Support team.

Field Name Field Value
From API client name
Authorization Bearer API token
Content_type application/json
Example:
Field Name Field Value
From Test_APIClient
AuthorizationBearer TEXnkvZCtFucXebHYwrYLIGbkhjygvBTbxWELCCnCQJTKsx6bYNh5fOjEE
Content_type application/json

1.4 Body

In the API body request you need to add the “workflow name” provided and replace with “id” in the “merchant”object with the ones provided by merchant support.

Please take a look at the JSON code with the titleSample JSON body for Payment Processing provided for reference.

“workflow”: “Test_Workflow” – “Test_Workflow” text should be replaced with the “workflow name” provided by iSignthis Merchant support team.

“merchant”: “id” : “Test_Merchant” – “Test_Merchant” text should be replaced with the “id” provided by iSignthis Merchant support team.

NOTE: In the “account” object –  identifier is the customer ID that you assigned to your customer. Each “identifier” must be unique and paired with the customer for future transactions.

The following API objects are required to generate the “Transaction API call”. Each object has a number of specific attributes in order to be successful.

Below you can view each object name, description and wether is required or not. Also, glossary column has a link that directs you to a more detailed information about each object including examples.

Object name Description Required Glossary
merchant Information about the merchant Yes Merchant object
transaction Information about the transaction Yes Transaction object
client Information about the client Yes Client Object
account Information about the account Yes Account object
cardholder Information on the cardholder No* Cardholder object

NOTE : *Cardholder object is only applicable if you have card numbers entered on your own payment page (Server to Server). You must be PCI certified to do this.

Sample JSON body for Payment Processing:
{
    "workflow": "Test_Workflow",
    
    "merchant":  { 
           "id": "Test_Merchant"
        },
    "transaction": {
        "id": "Test_ID",
        "amount": "100",
        "currency": "AUD",
        "reference": "Test_Ref"
    },
    "client": {
        "first_name": "Shana",
        "last_name": "Barrows",
        "email":"shana.barrows@isignthis.com",
        "mobile": "+61434444444",
        "billing_address_street": "Arthur Street",
        "billing_address_secondary": "PO Box 24",
        "billing_address_street_number": "42",
        "billing_address_city": "Ashfield",
        "billing_address_postal_code": "2131",
        "billing_address_subdivision": "NSW",
        "billing_address_country": "AU"
    },
    "account": {
        "identifier": "Test_ID"
    }
}

2. Receive API Request Response

Once the POST is send a message will be received as a response. If it is successful it will have the below format.

Field Type Description Example
id “String” Unique response identification code. “e6988b4a-ed1c-4104-9caf-af6bb8769756”
secret “String” The transaction secret code that can be used to validate ISX notifications. “159173ee-6309-4806-b499-d2598a2ed21e”
mode “String” The transaction mode detected by iSignthis. “registration”
original_message Object Information about your transaction request. Original Message Object
state “String”
“PENDING”
compound_state “String” The ISX meaningful state of the transaction “PENDING.VALIDATED_TRANSACTION”
redirect_url “String” The redirect URL “https://stage-verify.isignthis.com/vanilla/landing/e6988b4a-ed1c-4104-9caf-af6bb8769756”

Following the the redirect_url the transaction page will be displayed.

If the API request response is unsuccessful an error will be shown.

Sample JSON Payment Response
{
    "id": "e6988b4a-ed1c-4104-9caf-af6bb8769756",
    "uid": "e6988b4a-ed1c-4104-9caf-af6bb8769756",    
    "secret": "159173ee-6309-4806-b499-d2598a2ed21e",
    "context_uid": "e6988b4a-ed1c-4104-9caf-af6bb8769756",
    "mode": "registration",
   
    "original_message": {
        "merchant_id": "Test_Merchant",
        "transaction_id": "Test_ID",
        "reference": "Test_Ref"
    },
    "transactions": "[]",
    "state": "PENDING",
    "compound_state": "PENDING.VALIDATED_TRANSACTION",
    "redirect_url": "https://stage-verify.isignthis.com/vanilla/landing/e6988b4a-ed1c-4104-9caf-af6bb8769756"
 }

3. iSignthis Transaction page

The iSignthis transaction page is opened, the customer will be  prompted to insert additional information if any is required (depending on the settings that you requested) to proceed with the transaction.

For each unsuccessful try a customer makes, an appropriate event notification will be provided to your web hook.

Please check Notifications and events section for more information.

4. Results Page

Depending on which page  you have decided to show,  iSignthis results page or your own page will be displayed, to the customer with the according message.

Check events section for more information.

If you have any issues don’t hesitate to contact our Merchant support team we will be happy to help.