Near-field communication

Description -

Provide better user experience for card payments by seamlessly reading the card details using Near-field communication (NFC). Below are the benefits - 

  1. Dynamic UX - Checks device support and user behaviour for meaningful prompts

  2. Better coverage - All recent cards and devices have support

Pre-requisites

  1. Updates Juspay Android SDK to v2.1.24 or higher.

  2. Update Juspay micro-apps to latest stable versions - Reach out to Juspay SPOC for this.

Step 1 - Check NFC Support

Request to Juspay SDK -

              
                {
 "service": "in.juspay.ec", 
 "requestId": "88284034-1dab-45ab-8897-9013bd3914ac",
 "payload": {
        "action": "nfcSupportCheck"
            }, 
 "client_id": "clientID"
}
              

            

Possible response - 

              
                { 
  "service": "in.juspay.ec", 
  "requestId": "f1702fe1-635c-4da1-85d1-296c5fc433d8",
  "payload": { 
              "action": "nfcSupportCheck",
              "isNFCSupported": true
              },
  "errorMessage": "",
  "errorCode": "",
  "error": false
}
              

            
              
                { 
  "service": "in.juspay.ec",
  "requestId": "f1702fe1-635c-4da1-85d1-296c5fc433d8",
  "payload": { 
             "action": "nfcSupportCheck",
             "isNFCSupported": false 
  },
  "errorMessage": "",
  "errorCode": "",
  "error": false 
}
              

            
              
                { 
  "service": "in.juspay.ec", 
  "requestId": "f1702fe1-635c-4da1-85d1-296c5fc433d8",
  "payload": { 
              "action": "nfcSupportCheck"
             },
  "errorMessage": "Unsupported SDK",
  "errorCode": "JP_004",
  "error": true
}
              

            

Step 2 - Fetch NFC Data

Request to Juspay SDK -

              
                {
    "service": "in.juspay.ec",
    "requestId": "e53d340c-3429-4a74-94fe-a14e0470b8b8",
    "payload": {
        "action": "readNFCDetails"
               },
    "client_id": "clientID"
}
              

            

This request will also initiate the NFC read screen (Dark screen from video). By end of this screen, one of the below responses will be provided.

Possible responses - 

              
                { 
 "service": "in.juspay.ec",
 "requestId": "d3d1ff61-ca22-41d5-8bc6-343ef29fb3e3",
 "payload": { "action": "readNFCDetails", "data": "{\"cardNumber\":\"4022750164823813\",\"expiryMonth\":\"09\",\"expiryYear\":\"27\"}"},
 "errorMessage": "",
 "errorCode": "",
 "error": false 
}
              

            
              
                { 
  "service": "in.juspay.ec",
  "requestId": "3d1205fe-f7a6-43a9-8ebb-8f3f4c41c259",
  "payload": {"action": "readNFCDetails", "error": "permission denied !!"},
  "errorMessage": "",
  "errorCode": "",
  "error": false 
}
              

            
              
                { 
  "service": "in.juspay.ec",
  "requestId": "1bb939ab-b9ed-415a-9ff3-176b5b3d1263",
  "payload": { "action": "readNFCDetails", "error": "Request timed out!" },
  "errorMessage": "",
  "errorCode": "",
  "error": false 
}
              

            
              
                { 
  "service": "in.juspay.ec", 
  "requestId": "f1702fe1-635c-4da1-85d1-296c5fc433d8",
  "payload": { 
              "action": "readNFCDetails"
             },
  "errorMessage": "Unsupported SDK",
  "errorCode": "JP_004",
  "error": true
}
              

            
Last updated 2 years ago