Dashboard

Two Factor Authentication

How to enable two-factor authentication?

Download the Google authenticator app from the play store (Android) or App Store (iOS)

After downloading the Google Authenticator app, tap on the “Add” button as shown here.

Select “Scan a QR code” from the popup

  1. Scan the QR code on the 2FA screen on your desktop using your device (sample shown below)
  2. Enter the 6 digit OTP (displayed on your device) in the OTP field (sample shown below)
  3. Click on “Enable 2FA and login”

Once the above mentioned steps are completed, please re-enter the username and password, followed by the OTP screen wherein you have to enter the OTP (regenerated periodically) as seen on the Authenticator. This process needs to be followed each time you log in to the dashboard.

Reset Password

The password associated with the Juspay account can be reset by following the below steps

  1. Click on "Forgot Password?" option on the login page of the dashboard
  1. Enter the username/ merchantId of the account for which the password has to be updated and click on "Reset"
  1. An email with the link to reset the password would be triggered to the registered email address. The subject of the email will be Express checkout dashboard reset password
  1. Open the link and enter the new password and then click on Confirm.
  1. You may now login to the dashboard with the updated password.

Please reach out to [email protected] if the email address associated with your Juspay account has to be updated.

Reset 2FA

If you have lost the devices or uninstalled the Authenticator app? Do not worry, you can reset the 2 factor Authentication setup on the Juspay account by following the below steps.

  1. Enter the respective username and password of the Juspay account and click on Login
  2. In the next screen, click on "Reset Two-Factor Authentication?"
  1. An email with the link to reset the 2FA would be triggered to the registered email address. The subject of the email will be Express checkout dashboard reset two-factor authentication

  2. Click on the link and follow the steps mentioned here to setup the 2FA for your Juspay account.

Users

Operations dashboard is based on rule-based access to users. This access control is determined by
merchant’s admin while creating the users.

Merchant’s admin can give read-only or read+modify access to different modules listed here.
In the above illustration:
User will have read access to Orders and has read+write (modify) access to refunds.

📘

Note: Juspay will create the Admin and share credentials

Orders

Order View:

When clicked on ‘Orders’ on the left panel the list of orders is shown. And the user can select the time frame to view the orders

  • Customer Id: Unique Id of the customer that was passed during transaction by merchant
  • Order Id: Unique Id created during payment and one order can have multiple transaction Id's as the customer may retry payments
  • Created At: Transaction timestamp
  • Amount: Transaction amount
  • Order Status: Juspay provides different order status and explanation as below
Order StatusDescription
NEWNew created order (order created but the customer didn’t commence the transaction)
SUCCESSSuccessful/ Charged Transaction
PENDING_AUTHENTICATIONAuthentication in progress (status is not confirmed yet)
AUTHENTICATION_FAILEDUser didn’t complete the transaction
AUTHORIZATION_FAILEDUser completed transaction but the bank refused
JUSPAY_DECLINEDUser input is not accepted by underlying PG
AUTHORIZINGTransaction status pending from bank
COD INITIATEDInitiated Doesn’t appear for the regular merchant (Created for an edge case)
VOID_INITIATEDVoid pending for the pre-authorized transaction
VOIDEDVoid is successful for the pre-authorized transaction
AUTHORIZEDTransaction is Authorised but not captured

📘

Note: Pending statuses are updated when Juspay receives updated status from underlying PG and status is sent to the merchant via webhooks

Order View

Using status
User can view the orders based on order status by selecting one of the order statuses

Using Order Type
Users can view the orders based on the type of the order by choosing any one of the types provided.

Order TypeDescription
MANDATE PAYMENTRecurring mandate transaction
MANDATE REGISTERMandate registration transaction
TPV PAYMENTThe TPV transactions
ORDER PAYMENTAll the other transactions

Order Search

If user wish to search for specific order then can type the order id or customer id

Also, user can use the advanced search option to search order based on transaction id, customer email, phone or UDF parameters

Order Details:

If the user wants to drill down a specific order then click on a particular entry in order list

Order Information shows above shown details

  • Amount: Transaction amount, refund amount (if any)
  • Customer-related: Customer mail, mobile
  • Order related: order id, PG used, the order created timestamp and order modified timestamp (if the status is updated later point)
  • UDF related: User Defined Data that was passed by the merchant during a transaction

The most important point to view is Order Status so the user can initiate fulfillment activity.

Order - Transaction Details

After selecting the order, when clicked on ‘transactions’ tab, the user can view the transaction details
One order can have one or more transactions as customer retries are considered as transactions and listed under same order id.

Download Order Report

User can download the report by clicking on ‘Download Orders’ button

Sample report format:

Fields: Order Id, Currency, Amount, Status, Customer Id, Customer email, Customer Phone, Order Type,
Order UUID, Product Id, Mandate feature, Promotion Discount, Amount Refunded, Refunded Entirely,
Merchant Id, Return URL, Description, Date Creation, Last Modified, UDF (1 to 10)

📘

Note: Downloading reports for large data operations will be a time-consuming effort. Alternatively, Juspay can set auto-mailer for the report.

Refunds

The user selects the order and then clicks on ‘Refunds’ tab

(Shows that there are no refunds marked against the order)

Marking Refund:

To mark the refund for an Order Id, user to click on the ‘Create Refund’ button

User to enter the amount and click on ‘Refund Amount’

📘

Note: User can mark multiple refunds against the same order id as long as the sum of those refunds doesn’t exceed transaction amount

Refund Status

Once the refund is marked for an order then it will be shown in the dashboard (under the order and ‘refunds’ tab)
The explanation for refund status:

  • Pending: Juspay has marked refund and sent a refund request to underlying PG
  • Success: Refund has been successfully executed by underlying PG
  • Failure: Refund is failed
  • Manual Review: Refunds that are pending more than 10 days goes into manual review

📘

Note: refunds are queued before sent to underlying PG. Refunds may take max. 7 days to reach customer’s account or card and delay is specific to underlying PG and its banks

Batch Refunds

User can mark multiple refunds by uploading a single file by selecting ‘Batch Refund’ on left side panel

📘

Note: Batch files uploaded are shown here.

Create Batch Refund

When the user clicks on ‘create batch refund’ button, the console is shown to upload the file.

The batch file should be in .csv format and details should be in below format

Gateways

Gateways

Upon clicking the gateways tab, the user can select the payment service providers (aggregator, bank PG, wallets, containers or lending products) that need to be enabled

  • The merchant should procure the credentials from the concerned Payment Service provider.
  • Merchant to make sure the payment modes (a card, banks, UPI, etc.) are enabled by the service
    provider
  • If a merchant wishes to enable direct debit for wallets or S2S flow then make sure those features are approved and enabled for the merchant’s account

Refer Annexure 1 for credentials that are given by various service providers

Configuration - Sample

Above is the configuration of Pay.

  • Merchant has to enter the credentials: Salt, Merchant key
  • If the merchant wants to enable EMI then toggle the Fetch EMI Plans to ‘True’

Once done, the merchant has to enable the payment instruments, banks and Save gateway.

Razorpay oAuth Configuration

Click on Create Gateway from the GATEWAY section and choose RAZORPAY
Set the test mode based on the environment to which the transaction has to be routed
Click on "Authorize"

You will be redirected to Razorpay dashboard.
Tick the Terms & Conditions check box and click on "Authorize"

Login to with the Razorpay dashboard credentials

After successful login, you would be redirected back to Juspay panel. Enable the required fields based on business use case and click on Proceed to Configuration

Enable the required payment modes and save gateway

View and Edit

Merchant can view the configured gateways for the account and edit the gateway configuration ( enable/disable banks) based on business needs.

Route Scores

The merchant may want to force to route certain cards to a particular gateway (force routing). Merchant can
use this section to configure such force routings and that will ignore the routing logic. For more clarity
refer below section that covers types of routings and use cases.

ISIN Route

ISIN (Issuer Identifier number or BIN number i.e. first 6 digits of the bank. Merchant can configure BINs that needs to be processed through the specific payment provider

Use Case: HDFC is offering a discount on few BINs and merchant has to use only HDFC bank PG to process it. Merchant can configure those BINs (ISIN) and select HDFC gateway and set preference score to 2.

Issuer Route

Merchant can configure issuing bank and select the gateway for force routing by setting preference score to 2.
Use Case: HDFC is running a discount on HDFC cards and merchant has to process cards only through HDFC PG.

Card Brand Route:

If the merchant wants to force to certain card brands (Visa, MasterCard, Maestro, RuPay) through a
particular PG only then merchant to select the card brand and processing gateway and set preference score to 2.
Use Case: Diners card is processed only by HDFC PG. In this case, card-based routing will make sure Diners card always go through HDFC PG.

📘

Note: Diners can be processed by aggregator who uses HDFC PG as well. This configuration can be done during PG configuration by enabling Diners (provided your aggregator is ready to enable it)

Priority Logics:

Select Priority Logics tab under to define routing logic as per business requirement
Routing logic Merchant can enable two types for routing logic.
a. Simple Routing
Merchant will define primary and secondary service providers. In simple words, if Primary is down
then the transaction will be processed by secondary. Example: If Billdesk is down then Payu will
process transactions.

b. Custom Logic
Depending on business requirements, the merchant can write routing logic
Few of the possibilities:
● Channel-Based: Website, Android, iOS
● Volume Based: Split volume between two or more service providers
● Bank-based: Send particular bank’s transaction to one service provider
● Card type based: Debit or credit card
● Card brand based: Visa, MasterCard, RuPay, etc.
Routing logic can be complex as per your business logic. Example: 30% of website transaction of ICICI
bank Visa Credit card to be proceeded by PayU as primary and BillDesk as secondary.

Merchant to click on Create New Logic and write the logic. Refer Annexure 2 for samples.
● Merchant can delete or edit/update the logic
● Once merchant submits the priority logic, Juspay support team will review the syntax and correctness of logic and then approve it.
● Logic will be effective as soon as it is approved by Juspay team

📘

Note: Merchant to add comments in the logic so Juspay team can verify the logic written by the merchant does what it is expected to do.

Setting

General

In this section, the merchant can configure generic settings such as Return URL (return page that is shown after completion of the transaction) or order session timeout, etc.

📘

Note: Although it is self-explanatory do not hesitate to consult Juspay team in case of doubts as these are critical configurations.

Security

Section to add API keys, RSA keys and IP whitelisting.

  • The API key required for authentication can be generated by clicking on "Create New API key".
  • For generating the merchantKeyId required for signature generation, click on "Upload new RSA key" and upload the public key in .pem format.
  • For whitelisting the IP's, click on "Add New IP". Kinldy note that once the IP's are whitelisted, the API request from only these IP's would be accepted.

Response key is used for HMAC Signature verification.
Card Encoding Key is used for encrypt the card details from the client before initiating the transaction.

Conflicts

It may be possible that transaction status doesn’t reach finite status (success or failure) in real time. Some transaction may go into pending state and become success at a later point of time and these transactions are called ‘conflicted transactions’.

Juspay will ping the payment service provider to fetch updated status and new status can be pushed to the merchant.

By enabling ‘notify on status conflict’ and providing a valid email address under 'Conflict Status Email', Juspay would trigger an email notification to the provided email id whenever there is a conflicted transaction.

'Auto Refund of Conflicted Transactions'- If the merchant wants to automatically refund the conflicted transaction then enable the option (The default threshold is 10 minutes)

'Auto Refund of Conflicted Transactions Threshold in Mins'- Enter a threshold in minutes beyond that you would want Juspay to automatically refund the transaction. The default threshold is 10 minutes.

'Auto Refunds in Multiple Charged Transactions'- Enable the flag if Juspay should automatically refund the transaction(s) if there are multiple charged transactions against a single order.

Webhooks

Juspay fetches the updated status from payment service providers and updated status can be pushed to the merchant through webhooks. Merchant can configure the webhooks in this section.
The webhook can be Authenticated by providing a Basic HTTP authentication.
If you want Juspay to post a custom headers during the webhook notification, you may configure them by click on "Create Webhook" and provide the respective "Name" and the "value".
Webhook Events- You may choose the required events from the provided list for which

Batch Card Delete

If customer wants merchant to delete saved card (s) then merchant can use the dashboard to achieve it by uploading batch file of customer ids of which card needs to be deleted.

📘

Note Sensitive activity so contact Juspay team before attempting the delete activity

comment: # (------------------------------------ Annexure 1 Card Tab ------------------------------------ )

Annexure 1: Credentials of Payment Service Providers

  1. Airtel Money

Gateway Reference ID

Salt

Merchant Id

Test Mode (T/F)

  1. Axis Card

Gateway Reference ID

Access Code

Merchant Id

AMA Username

AMA Password

Secret Key

Staged Transaction (T / F)

Multi Currency Supported (T / F)

  1. Axis NB

Gateway Reference ID

Axis Merchant Code

Axis Secure Secret

Test Mode (T/F)

  1. Axis UPI

Gateway Reference Id

Payee VPA

MCC

QR Code Format

QR Code size

Waiting Page Expiry in Seconds

Use Txn UUID as Tr (T / F)

Test Mode (T / F)

  1. Amazon Pay

Gateway Reference Id

Seller Id

Access Key

Secret Key

Test Mode (T / F)

  1. BillDesk

Gateway Reference Id

Merchant Id

Checksum Key

Rupay Bank Code

Amex Bank Code

Legacy Redirect (T / F)

Card Redirect (T / F)

Hashing Algorithm

NB Redirect (T / F)

Wallet Redirect (T / F)

Amex Redirect (T / F)

EMI Redirect (T / F)

Rewards Redirect (T / F)

Rupay Redirect (T / F)

Enable Subscription (T / F)

  1. Blazepay (of PayU)

Gateway Reference Id

Merchant Id

Secret Key

Access Key

Test Mode (True / False)

  1. CCAvenue V2

Gateway Reference Id

Merchant Id

Access Code

Secret Key

Enable S2S integration (T / F)

Test Mode (True / False)

  1. Citi

Gateway Reference Id

Merchant Code

Merchant Key

Test Mode (T / F)

  1. Citrus

Gateway Reference Id

Merchant Id

Secret Key

Access Key

Test Mode (T / F)

  1. Cyber Source

Gateway Reference Id

Merchant Id

User name

Cybersource Account
Password

Direct Authorization for un
enroller cards (T / F)

User order id as
reconciliation id (T / F)

Certificate

Test Mode (T / F)

  1. EBS V3

Gateway Reference Id

Account Id

Secret

Page Id

Test Mode (T / F)

  1. Epay later

Gateway Reference Id

mCode

API Key

AES Key

IV

Category

Test Mode (T / F)

  1. Freecharge

Gateway Reference Id

Merchant Id

Secret Key

Direct Debit (T / F)

Test Mode (T / F)

  1. Google Pay
    Required if Googlepay is being used via Banks. If Googlepay is being used via an aggregator then there is no separate gateway configuration required. It can be enabled from the payment methods configuration of the Aggregator.

Gateway Reference Id

Payee VPA

Payee Name

MCC

Test Mode (T / F)

  1. GoCashfree

Gateway Reference Id

App Id

Secret Key

Is Pre-Authorisation Enabled (T / F)

Test Mode (T / F)

  1. HDFC

Gateway Reference Id

Tranportal Id

Tranportal Password

Test Mode (T / F)

  1. HDFC UPI

Gateway Reference Id

Payee VPA

MCC

QR Code Format

QR Code Size

Waiting page expiry in seconds

Use Txn UUID as Tr (T / F)

Test Mode (T / F)

  1. HDFC IVR

Gateway Reference Id

Tranportal Id

Tranportal Password

  1. HSBC UPI

Gateway Reference Id

Payee VPA

MCC

QR Code Format

QR Code Size

Waiting page expiry in seconds

Use Txn UUID as Tr (T/F)

Test Mode (T / F)

  1. ICICI UPI

Gateway Reference Id

Payee VPA

MCC

QR Code Format

QR Code Size

Waiting page expiry in seconds

Use Txn UUID as Tr (T / F)

Transaction Reference Prefix

Test Mode (T / F)

  1. IPG

Gateway Reference Id

Store Id

User Id

User Secret

Password

Certificate Password

Certificate

  1. Jio Money

Gateway Reference Id

Merchant Id

Client Id

Channel

Checksum Key

Direct Debit(T/F)

Test Mode(T/F)

  1. Kotak UPI

Gateway Reference Id

Payee VPA

MCC

QR Code Format

QR Code Size

Waiting page expiry in seconds

Use Txn UUID as Tr (T / F)

Transaction Reference Prefix

Test Mode(T/F)

  1. Kotak

Gateway Reference Id

Merchant Id

Terminal Id

Passcode

Merchant Category Code

Secure Secret Key

Encryption Key

Test Mode(T/F)

  1. SIMPL

Gateway Reference Id

App Id

Test Mode(T/F)

  1. MIGS

Gateway Reference Id

Merchant Id

Secure Secret

Access Code

AMA User name

AMA Password

Staged Transaction (T / F)

Multi Currency Supported (T / F)

Enable Subscription (T / F)

  1. Mobikwik

Gateway Reference Id

Merchant Name

Merchant Id

Secret Key

SI Key

Direct Debit (True / False)

Register user automatically (T / F)

Test Mode(T/F)

  1. mPESA

Gateway Reference Id

Merchant Code

User Name

Password

Secret Key

Channel Id

Direct Debit (T / F)

Test Mode(T/F)

  1. Ola Postpaid

Gateway Reference Id

Merchant Access Token

Merchant Name

Merchant Private Key

Salt

Password

Ola Public Key

Test Mode(T/F)

  1. Ola Money

Gateway Reference Id

User Name

Password

Salt

Access Token

Coupon Code

Direct Debit (T / F)

Test Mode (T/ F)

  1. PayPal

Gateway Reference Id

Client Id

Secret

Test Mode (T/ F)

  1. PayU

Gateway Reference Id

Salt

Merchant Key

Save Sodexo Token (T/F)

Enable Subscription (T/F)

Fetch EMI Plans (T/F)

Test Mode (T/ F)

  1. PhonePe

Gateway Reference Id

Merchant Id

Salt Key 1

Salt Key 2

Customer Id

Direct Debit (True / False)

Test Mode (T/ F)

  1. PayTM

Gateway Reference Id

MID

Client Id

website

Merchant Key

Secret Key

Channel Id

Industry Type Id

Scope

Hash Customer Id

Enable S2S integration (T/F)

Seamless Transaction (T/F)

Direct Debit (T/F)

Process Authorizing
Status (T/F)

Enable withdraw flow (Direct
Debit) (T/F)

Use New end point

Test Mode (T/ F)

  1. PayU

Gateway Reference Id

Salt

Merchant Key

Save Sodexo Token (T/F)

Enable Subscription (T/F)

Fetch EMI Plans (T/F)

Test Mode (T/ F)

  1. RazorPay

Gateway Reference Id

Test Mode (T/ F)

Authorize (To initiate OAuth)

  1. ShopSe

Gateway Reference Id

Authorization

Test Mode (T/ F)

  1. Stripe

Gateway Reference Id

Secret Key

Publishable Key

Test Mode (T/ F)

  1. Sodexo

Gateway Reference Id

Merchant Id

Terminal Id

Fetch Balance while list card

Save Sodexo Token Implicitly (T / F)

Test Mode (T/ F)

  1. TechProcess

Gateway Reference Id

Merchant Code

Encryption Key

Encryption IV

Scheme Code

Amex Card bank code

International card bank code

Debit card bank code

Credit Card bank code

Test Mode (T/ F)

  1. Yes Bank UPI

Gateway Reference Id

Payee VPA

QR Default Format

QR Default Size

MCC

Waiting page expiry in seconds

Use Txn UUID as Tr (T / F)

Test Mode (T / F)

  1. Zaakpay

Gateway Reference Id

Merchant Id

Encryption Key Id

Secret Key

Public Key for RSA

Test Mode (T / F)

  1. Zestmoney

Gateway Reference Id

Client Id

Client Secret Key

Merchant Secret Key

Test Mode (T / F)

  1. Payfort

Gateway Reference Id

Access Code

Merchant Id

Encryption Key

Decryption Key

Encryption Method

Test Mode

  1. PAYTM_V2

Gateway Reference Id

MID

Ind Type Id

Channel Id

Client Id

Website

Merchant Key

s2s enable

Enable Card Mandate

Enable Emandate

Test Mode(T/F)

Card Direct Otp Enabled

  1. EASEBUZZ

Gateway Reference Id

Key

Salt

Test Mode(T/F)

  1. SEZZLE

Gateway Reference Id

Public Key

Private Key

Test Mode(T/F)

  1. PayGlocal

Gateway Reference Id

Merchant Id

Private Key KId

Public Key KId

Private Key

Public Key

Test Mode


Annexure 2: Sample Routing logics

Refer Documentation on Routing logic:

Samples

Example 1: Routing based on Channel

If you wish to route the transaction based on channel say web or mobile.

def priorities = ['HDFC', 'ICICI', 'PAYU'] 
  // above is the default priority

  if (order.udf1 == 'web') {
    priorities = ['HDFC','PAYU','ICICI']
  }
  else if (order.udf1 == 'mobile' && order.udf2 == 'android')
    priorities = ['ICICI','HDFC','PAYU']
  }
  setGatewayPriority(priorities)

Example 2 : Volume based Routing

 // def myGateways = ['HDFC','ICICI']
  // Goal: 50% approx split between two gateways

  if(currentTimeMillis % 10 < 5) {
    setGatewayPriority(['HDFC', 'ICICI'])
  }
  else {
    setGatewayPriority(['ICICI', 'HDFC'])  
  }

  // def myGateways = ["HDFC","ICICI", "AXIS"]
  // Goal: 1/2 split between two gateways and use third as backup
  if(currentTimeMillis % 10 < 5) {
    setGatewayPriority(['HDFC', 'ICICI', 'AXIS'])
  }
  else {
    setGatewayPriority(['ICICI', 'HDFC', 'AXIS'])
  }

Example 3 : Issuer based Routing

  def priorities = [ 'HDFC', 'ICICI' ] 
  // default priorities
  if (payment.cardIssuer == 'ICICI Bank') { 
    // if ICICI Bank card, use ICICI
    priorities = [ 'ICICI', 'HDFC' ]
  }
  else if (order.udf1 == 'mobile' && order.udf2 == 'android')
    // for android transactions, use ICICI
    priorities = [ 'ICICI', 'HDFC' ]
  }
  else { // for everything else use HDFC as primary
    priorities = [ 'HDFC', 'ICICI' ]
  }
  setGatewayPriority(priorities)