Payment Locking Version 1 - Deprecated

Feature Details

  • Allows merchants to block/allow specific payment instruments group/ payment instruments in the payment page
  • Merchants can also control the features like Direct OTP, E-Mandate on relevant instruments(To be available soon)
  • Additional Feature covered :
    • Supported reordering of payment instruments group
  • Payload is passed in offer_details key within the orderDetails Payload

Payload Details


{ "offer_applied" :: String
, "offer_payment_methods" :: (Array MerchantOfferPaymentMethod)
, "merge_with_default_payment_methods" :: String
, "support_reordering" :: String
{ offer_payment_method_type :: String
, offer_payment_method :: Array String
, offer_payment_card_type :: String
, offer_payment_card_issuer :: Array String
, filter_type :: String
, features :: Array FeatureDetails
, specific_card_filters :: Array SpecificCardFilters
{ name :: String
, instruments :: (Array String)
, filter_type :: String
{ card_brand :: String
, card_bin :: (Array String)
, card_type :: String
, card_bank :: String


Variable Type & Description Possible Values
offer_applied Type: Boolean String;
Value: false for payment locking & true for merchant offer application Mandatory
“true”, “false”
offer_payment_methods Type: Array of MerchantOfferPaymentMethod Mandatory Array of MerchantOfferPaymentMethod
merge_with_default_payment_methods Type: Boolean String;
Value: false; to display only instruments mentioned in offer_payment_methods; true otherwise Default: “false” Non Mandatory
“true”, “false”
support_reordering Type: Boolean String;
Value: false for retaining the order of instruments as same as the configured order & true for changing the order of instruments as passed in the offer_payment_methods key. Default: “false” Non Mandatory
“true”, “false”


Variable Type & Description Possible Values
offer_payment_method_type String;
Details of the payment method type to target Mandatory
“nb” => For netbanking
“wallet” => For wallets
“card” => For Cards
“paylater” => For pay later instruments
“upi” => For upi collect & upi intent
“upiApps” => For upi intent only
“upiAppsWithOther” => For popular upi apps on payment page and all apps & collect option on UPI screen
(Refer Note1 for more info on different upi values)
“cashod” => For Cash-On-Delivery
offer_payment_methods Array String;
List of all instruments on which filtering is supposed to be applied Non Mandatory When not passed, filter will be applied on whole instrument group
Default: null
Array of MerchantOfferPaymentMethod
Offer payment method type Possible Values
“nb” Bank codes
Example : [“NB_AXIS”, “NB_HDFC”]
“wallet” Wallet codes Example : [“PAYTM”, “MOBIKWIK”]
““upi”/”upiAppsWithOther”” Combination of handles & App Name or Package Names
Example: [ “GPAY”, “PHONEPE”, “@ybl”, “@okhdfcbank”]
(For best results use package names for upi apps)
“upiApps” App Names Or Package Names.
Example: [ “GPAY”, “PHONEPE”]
“card” Card brands
Example : [“MASTERCARD”, “VISA”]
“paylater” PayLater codes Example : [“LAZYPAY”]
offer_payment_card_type String
Applicable only for cards
Non Mandatory
offer_payment_card_issuer Array String
Details of Card Banks Applicable only for cards
Non Mandatory
“HDFC Bank”, “SBI” etc
filter_type String
Type of filter
Non Mandatory
Default : blacklist
“whitelist”, “blacklist”
(To be available soon)
Array Features
Details of feature wise filter
Non Mandatory
Array Features
(To be available soon)
Array of Specific Card Filters One to one maps of card details to filter.
Non Mandatory
Array of Specific Card Filters


(To be available soon)
Variable Type & Description Possible Values
name String
Feature name
Conditional Mandatory if “features” is passed
instruments String
Feature name
Conditional Mandatory if “features” is passed
[“SBI”, “HDFC bank”] => for SBI Cards & HDFC Cards
filter_type String
Type of filtering that should be applied on instruments
Non Mandatory Defaults: blacklist
“whitelist”, “blacklist”


(To be available soon)
Variable Type & Description Possible Values
card_brand String
Card Brand Name Conditional Mandatory
card_bin Array String
Range of bins which is supposed to be filtered on
Non Mandatory
Example: [ “600000::900000”]
card_type String
Card Type
Conditional Mandatory
Example: “DEBIT”
card_bank String
Card Bank
Non Mandatory
Example: “HDFC Bank”

Sample Payload

(This will whitelist NB_AXIS & NB_HDFC & completely blacklist i.e remove UPI while keeping other instruments & changing order of instruments )
  "order_id": "R8205947560",
  "first_name": "John",
  "last_name": "Wick",
  "mobile_number": "9592329220",
  "email_address": "[email protected]",
  "customer_id": "9592329220",
  "timestamp": "1611559686153",
  "merchant_id": "croma",
  "amount": "1.00",
  "currency": "INR",
  "offer_details": {
    "merge_with_default_payment_methods": "true",
    "offer_applied": "false",
    "offer_payment_methods": [
        "filter_type": "whitelist",
        "offer_payment_method": [
        "offer_payment_method_type": "NB"
        "filter_type": "blacklist",
        "offer_payment_method_type": "upiAppsWithOther"
    "support_reordering": "true"                            
Note 1
Special Case for blacklisting/whitelisting UPI when using merge_with_default as true Following screenshots mention the value to be used based on the configuration of UPI UI:
  • upiApps
  • upi
  • upiAppsWithOther