search

Other Supported Features

1. Closed Loop Cards Integration

 

Below deep-links will be used to integrate different closed loop cards with our payment application. 

 

Use Case - To add support for integration of below closed loop card related transactions

 

  • Get Card Info
  • Get Card Info/UUID of Closed Loop Card(DeepLink :- paytmedc://readCard

 

readCard API is used to read closed loop card serial number or UUID. For Closed loop cards, flowType=closed parameter must be included in the request otherwise transaction will be treated for Open loop cards. cardMfType parameter must need to be set otherwise the transaction will not be processed. Different values of cardMfType are defined in the parameters table. In case of Closed loop cards the card number in response will not be masked, it will be a simple Card serial number or UUID.

 

  1. Sample-

     

    Request URL for Closed Loop card

     

    paytmedc://readCard?callbackAction=com.paytm.pos.payment.CALL_BACK_RESULT&stackClear=false&callbackPkg=com.paytm.sampledeeplinkapp&callbackDl=sampledeeplink://readCard&orderId=12345&flowType=closed&cardMfType=MF&callbackIsService=false

     

    Response URL for Success

     

    sampledeeplink://readCard?status=SUCCESS&cardNo=608326A20017&orderId=12345

     

    Response URL for Failure

     

    sampledeeplink://readCard?status=FAIL&errorCode=-2&errorMsg=card%20%read %20%timeout&orderId=12345

     

2. qSparc Retail and Transit Integration for Open Loop Cards

 

This part is introduced to support all qSparc-related transactions for open / closed loop cards using Third-Party Apps. 


Use Cases - To add support for integration of the below qSparc-related transactions

  • Get Card Info for Retail and Transit
  • Get the Global balance of the card
  • Add Money to global balance using Cash / Account for Retail and Transit
  • Update global balance of card (for TopUp done using NetBanking, wallet, etc.)
  • Update CSA data for Open loop cards(for Penalty deduction)
  • Read and Update Closed loop card data.
  • Create NCMC Services - CSA & OSA

 

Get Card Info for Retail and Transit with Open and Closed Loop Card:-

 

readCard API is to read card data according to the tags specified in the request. For Closed loop cards, cardType=CLOSED and blockNum parameters must be included in the request otherwise transactions will be treated for Open loop cards.
 

  1. Sample-

     

    Request for Open Loop Card

     

    paytmedc://readCard?callbackAction=com.paytm.pos.payment.CALL_BACK_RESULT&stackClear=false&callbackPkg=com.paytm.sampledeeplinkapp&callbackDl=sampledeeplink://readCard&requestTags=5A,DF33&orderId=12345&flowType=transit&callbackIsService=false&isOsa=true

     

    Request for Closed Loop card

     

    paytmedc://readCard?callbackAction=com.paytm.pos.payment.CALL_BACK_RESULT&stackClear=false&callbackPkg=com.paytm.sampledeeplinkapp&callbackDl=sampledeeplink://readCard&requestTags=5A,DF33&orderId=12345&flowType=transit&cardType=CLOSED&blockNum=2&callbackIsService=false&isOsa=true

     

    Response for Success

     

    sampledeeplink://readCard?status=SUCCESS&cardNo=608326%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A20017&responseTags=f6f79de29bca7d099d77b04a20a1167066ba8104230bd924bf1bf5c420148dbf%2C011010AC00C39E930....&orderId=12345&isOsa=true

     

    Response for Failure

     

    sampledeeplink://readCard?status=FAIL&errorCode=1002&errorMsg=card%20%read%20%timeout&orderId=12345&isOsa=true

     

3. Add Money with Cash / Linked Account for Retail or Transit

 

addMoney API is used for adding money to the Global balance of the card using Cash or the linked account. For cash, serviceType= CASH, and for the account, serviceType = ACCOUNT.

 

  1. Sample-

     

    Request

     

    paytmedc://addMoney?callbackAction=com.paytm.pos.payment.CALL_BACK_RESULT&stackClear=false&callbackPkg=com.paytm.sampledeeplinkapp&callbackDl=sampledeeplink://addMoney&serviceType=CASH&amount=200&orderId=54321&cardNoSHA=64c553a3fa16961c5fa37d4004a032233beb8cca085e2cba56556e5396779c3c&flowType=transit&param1=a&param2=b&callbackIsService=false

     

    Response for Success

     

    sampledeeplink://addMoney?amount=200&txnid=20221031111212800110168887003398471&status=SUCCESS&cardNo=%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A20249&orderId=54321&isOsa=false&responsePayMode=CARD&acquirer=PEDC&cardBalance=949200&RRN=230412901098&stan=001119&txnDate=31%20Oct%202022%2C%2012%3A07%3A46%20PM&authCode=120707&tid=14015808&aid=A0000005241010&cardScheme=Rupay%20Prepaid&issuingBank=ICICI&bankResponseCode=00&bankMid=5PT000000000026&bankTid=5P002524&bankOfferApplied=false&subventionCreated=false&param1=a&param2=b

     

    Response for Failure

     

    sampledeeplink://addMoney?amount=200&cardNo=null&txnId=fdt&status=FAIL&errorCode=-4&errorMsg=Same%20card%20is%20not%20used.%20Please%20use%20the%20original%20card&orderId=fdt&isOsa=false&cardBalance=null&param1=a&param2=b

     

4. Update balance for Retail or Transit

 

updateBalance API is used to update Global balance of card in case money has already been added to the host account using NetBanking or other third party services.

 

  1. Sample-

     

    Request

     

    paytmedc://updateBalance?callbackAction=com.paytm.pos.payment.CALL_BACK_RESULT&stackClear=false&callbackPkg=com.paytm.sampledeeplinkapp&callbackDl=sampledeeplink://balanceUpdate&callbackIsService=false&orderId=54321&cardNoSHA=d825fc6a5cc8b31738799cb0747255c5bd919d0d4a1738934dc4a01d48262ca2a6b1fcccfb7b69a73ab6ec177d971693e32be5434f1bd740a59f3e793644659f&flowType=transit&param1=a&param2=b

     

    Response for Success

     

    sampledeeplink://balanceUpdate?amount=0&txnid=20221031111212800110168418603307334&status=SUCCESS&cardNo=%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A20249&orderId=54321&isOsa=false&responsePayMode=CARD&cardBalance=949200&RRN=230412901309&stan=001123&txnDate=31%20Oct%202022%2C%2012%3A21%3A04%20PM&tid=14015808&aid=A0000005241010&cardScheme=Rupay%20Prepaid&issuingBank=ICICI%20Bank&bankMid=5PT000000000026&bankTid=5P002524&bankOfferApplied=false&subventionCreated=false&param1=a&param2=b

     

    Response for Failure

     

    sampledeeplink://balanceUpdate?status=FAIL&orderId=54321&errorCode=1406&errorMsg=card%20%number%20%not%20%matched

     

5. Check balance with Data for Retail or Transit

 

checkBalanceWithData API is used to get the Global balance of the card along with card-related data(optional). Card Data are the same as that you get in the readCard api

 

  1. Sample-

     

    Request

     

    paytmedc://checkBalanceWithData?callbackAction=com.paytm.pos.payment.CALL_BACK_RESULT&stackClear=false&callbackPkg=com.paytm.sampledeeplinkapp&callbackDl=sampledeeplink://checkBalanceWithData&callbackIsService=false&orderId=54321&requestTags=5A, DF33&flowType=transit&param1=a&param2=b

     

    Response for Success

     

    sampledeeplink://checkBalanceWithData?status=SUCCESS&cardNo=%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A20249&orderId=54321&cardBalance=949200&param1=a&param2=b&responseTags=d825fc6a5cc8b31738799cb0747255c5bd919d0d4a1738934dc4a01d48262ca2a6b1fcccfb7b69a73ab6ec177d971693e32be5434f1bd740a59f3e793644659f%2C011010AC00C39E930100000000012A221031120651001B0000009492000356603100000001000110114224B61C000000000000000001000110114224B5B0002C012C1748020001000110114224B5AE002B012C175B000001000110618224B5A9001C00641761000001000110618224B5A8001B00641767000000000000000000

     

    Sample Response URL for Failure

     

    sampledeeplink://checkBalanceWithData?status=FAIL&orderId=54321&errorCode=1406&errorMsg=card%20%read%20%timeout

     

6. Card Data Update for Retail or Transit with Open or Closed loop card

 

updateCard API is used for service data(Common Service Area and Operator Service Area) update in Open loop cards after successful online transaction and card data update for Closed loop cards after successful authentication. For Closed loop cards, cardType=CLOSED and blockNum parameter must be included in the request otherwise transaction will be treated for Open loop cards. For CSA (isOsa =false), amount is mandatory with featureType as it is a transaction, so the entered amount will be deducted from the card. 

 

  1. Sample Request for Open Loop card (CSA)-

     

    paytmedc://updateCard?callbackAction=com.paytm.pos.payment.CALL_BACK_RESULT&stackClear=false&callbackPkg=com.paytm.sampledeeplinkapp&callbackDl=sampledeeplink://updateCard&callbackIsService=false&amount=100&orderId=54321&isOsa=false&cardData=3100000001000110114224B61C000000000000000001000110114224B5B0002C012C1748020001000110114224B5AE002B012C175B000001000110618224B5A9001C00641761000001000110618224B5A8001B00641767000000000000000000&featureType=0&cardNoSHA=d825fc6a5cc8b31738799cb0747255c5bd919d0d4a1738934dc4a01d48262ca2a6b1fcccfb7b69a73ab6ec177d971693e32be5434f1bd740a59f3e793644659f&flowType=transit&param1=a&param2=b

     

  2. Sample Response for Success for Open Loop Cards (CSA)+
  3. Sample Request for Open Loop card (OSA)+
  4. Sample Response for Success for Open Loop Cards (OSA)+
  5. Sample Request for Closed Loop card+
  6. Sample Response for Success of Closed Loop Card+
  7. Sample Response for Failure+

7. Create Service for Retail or Transit

 

createService API is used to create Common Service Area(CSA) and Operator Service Area(OSA) in Open loop cards. If flag isOsa is checked, then it will perform OSA creation else CSA creation.

 

  1. Sample-

     

    Request

     

    paytmedc://createService?callbackAction=com.paytm.pos.payment.CALL_BACK_RESULT&stackClear=false&callbackPkg=com.paytm.sampledeeplinkapp&callbackDl=sampledeeplink://createService&orderId=54321&callbackIsService=false&flowType=transit&isOsa=true

     

    Response for Success

     

    sampledeeplink://createService?status=SUCCESS&cardNo=608326%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A2%E2%80%A20017&orderId=54321&amount=0&stan=001464&RRN=null&txnId=54321&isOsa=true

     

    Response for Failure

     

    sampledeeplink://createService?amount=0&stan=001464&RRN=null&cardNo=&txnId=467&status=FAIL&errorCode=-3&errorMsg=Error%20in%20reading%20card.%20Please%20retry&orderId=467&isOsa=false