@ekoindia/eps-context-mcp 0.1.11 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/data/eps.json +696 -443
- package/package.json +1 -1
package/data/eps.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"meta": {
|
|
3
3
|
"org": "ekoindia",
|
|
4
4
|
"apiVersion": "v3",
|
|
5
|
-
"bundleVersion": "
|
|
5
|
+
"bundleVersion": "720a494b",
|
|
6
6
|
"environments": [
|
|
7
7
|
{
|
|
8
8
|
"id": "sandbox",
|
|
@@ -297,6 +297,14 @@
|
|
|
297
297
|
"description": "Sender's 10-digit mobile number.",
|
|
298
298
|
"example": "9123456789",
|
|
299
299
|
"in": "path"
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"name": "user_code",
|
|
303
|
+
"type": "string",
|
|
304
|
+
"required": true,
|
|
305
|
+
"description": "Agent user code (sent as a query parameter).",
|
|
306
|
+
"example": "20810200",
|
|
307
|
+
"in": "query"
|
|
300
308
|
}
|
|
301
309
|
],
|
|
302
310
|
"sampleRequest": {},
|
|
@@ -333,71 +341,109 @@
|
|
|
333
341
|
{
|
|
334
342
|
"name": "is_registered",
|
|
335
343
|
"type": "number",
|
|
336
|
-
"
|
|
337
|
-
"
|
|
338
|
-
"example": 1
|
|
339
|
-
},
|
|
340
|
-
{
|
|
341
|
-
"name": "sender_name",
|
|
342
|
-
"type": "string",
|
|
343
|
-
"description": "Registered name of the sender.",
|
|
344
|
-
"imp": true,
|
|
345
|
-
"example": "Ramesh Kumar"
|
|
346
|
-
},
|
|
347
|
-
{
|
|
348
|
-
"name": "ekyc_enabled",
|
|
349
|
-
"type": "string",
|
|
350
|
-
"description": "Whether biometric eKYC is enabled (\"1\" = yes).",
|
|
351
|
-
"example": "1"
|
|
344
|
+
"description": "Registration flag from the profile lookup. Read customer_profile.kyc_state to determine KYC completion.",
|
|
345
|
+
"example": 0
|
|
352
346
|
},
|
|
353
347
|
{
|
|
354
348
|
"name": "next_allowed_limit",
|
|
355
349
|
"type": "number",
|
|
356
|
-
"description": "Remaining transfer limit for the current month (in INR).",
|
|
357
350
|
"imp": true,
|
|
358
|
-
"
|
|
351
|
+
"description": "Remaining remittance limit currently available (INR).",
|
|
352
|
+
"example": 25000
|
|
359
353
|
},
|
|
360
354
|
{
|
|
361
355
|
"name": "kyc_state",
|
|
362
356
|
"type": "number",
|
|
363
|
-
"description": "
|
|
357
|
+
"description": "Top-level KYC flag for the lookup response.",
|
|
364
358
|
"example": 0
|
|
365
359
|
},
|
|
366
360
|
{
|
|
367
361
|
"name": "customer_profile",
|
|
368
362
|
"type": "object",
|
|
369
363
|
"imp": true,
|
|
370
|
-
"description": "Sender profile summary.",
|
|
364
|
+
"description": "Sender profile summary (present once KYC is complete).",
|
|
371
365
|
"children": [
|
|
372
366
|
{
|
|
373
367
|
"name": "name",
|
|
374
368
|
"type": "string",
|
|
375
|
-
"description": "Sender
|
|
376
|
-
"
|
|
369
|
+
"description": "Sender name.",
|
|
370
|
+
"imp": true,
|
|
371
|
+
"example": "Rahul"
|
|
377
372
|
},
|
|
378
373
|
{
|
|
379
374
|
"name": "mobile",
|
|
380
375
|
"type": "string",
|
|
381
376
|
"description": "Sender's mobile number.",
|
|
382
|
-
"example": "
|
|
377
|
+
"example": "9155927131"
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"name": "balance",
|
|
381
|
+
"type": "string",
|
|
382
|
+
"description": "Sender wallet balance (INR).",
|
|
383
|
+
"example": "0.00"
|
|
383
384
|
},
|
|
384
385
|
{
|
|
385
386
|
"name": "total_monthly_limit",
|
|
386
387
|
"type": "string",
|
|
387
|
-
"description": "
|
|
388
|
-
"example": "
|
|
388
|
+
"description": "Sender's monthly remittance limit (INR).",
|
|
389
|
+
"example": "25000.0"
|
|
389
390
|
},
|
|
390
391
|
{
|
|
391
392
|
"name": "next_allowed_limit",
|
|
392
393
|
"type": "string",
|
|
393
|
-
"description": "Remaining
|
|
394
|
-
"example": "
|
|
394
|
+
"description": "Remaining limit currently available (INR).",
|
|
395
|
+
"example": "25000.0"
|
|
395
396
|
},
|
|
396
397
|
{
|
|
397
|
-
"name": "
|
|
398
|
+
"name": "kyc_state",
|
|
398
399
|
"type": "number",
|
|
399
|
-
"description": "
|
|
400
|
+
"description": "Sender KYC state (1 = KYC complete on the profile).",
|
|
401
|
+
"imp": true,
|
|
400
402
|
"example": 1
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"name": "chart",
|
|
406
|
+
"type": "array",
|
|
407
|
+
"description": "Per-period limit-usage breakdown.",
|
|
408
|
+
"children": [
|
|
409
|
+
{
|
|
410
|
+
"name": "data_type_id",
|
|
411
|
+
"type": "number",
|
|
412
|
+
"description": "Identifier for the limit period/bucket.",
|
|
413
|
+
"example": 10
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"name": "data",
|
|
417
|
+
"type": "object",
|
|
418
|
+
"description": "Limit usage for the period.",
|
|
419
|
+
"children": [
|
|
420
|
+
{
|
|
421
|
+
"name": "unavailable",
|
|
422
|
+
"type": "number",
|
|
423
|
+
"description": "Amount blocked/unavailable (INR).",
|
|
424
|
+
"example": 0
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
"name": "used",
|
|
428
|
+
"type": "number",
|
|
429
|
+
"description": "Amount already used (INR).",
|
|
430
|
+
"example": 0
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"name": "remaining",
|
|
434
|
+
"type": "number",
|
|
435
|
+
"description": "Remaining limit for the period (INR).",
|
|
436
|
+
"example": 25000
|
|
437
|
+
}
|
|
438
|
+
]
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"name": "label",
|
|
442
|
+
"type": "string",
|
|
443
|
+
"description": "Display label for the period.",
|
|
444
|
+
"example": ""
|
|
445
|
+
}
|
|
446
|
+
]
|
|
401
447
|
}
|
|
402
448
|
]
|
|
403
449
|
}
|
|
@@ -406,34 +452,59 @@
|
|
|
406
452
|
],
|
|
407
453
|
"sampleSuccessResponse": {
|
|
408
454
|
"status": 0,
|
|
455
|
+
"response_status_id": -1,
|
|
409
456
|
"response_type_id": 309,
|
|
410
457
|
"message": "Success!",
|
|
411
|
-
"response_status_id": -1,
|
|
412
458
|
"data": {
|
|
413
|
-
"is_registered":
|
|
414
|
-
"
|
|
415
|
-
"ekyc_enabled": "1",
|
|
416
|
-
"next_allowed_limit": 48000,
|
|
459
|
+
"is_registered": 0,
|
|
460
|
+
"next_allowed_limit": 25000,
|
|
417
461
|
"kyc_state": 0,
|
|
418
462
|
"customer_profile": {
|
|
419
|
-
"
|
|
420
|
-
"mobile": "
|
|
421
|
-
"
|
|
422
|
-
"next_allowed_limit": "
|
|
423
|
-
"
|
|
463
|
+
"total_monthly_limit": "25000.0",
|
|
464
|
+
"mobile": "9155927131",
|
|
465
|
+
"balance": "0.00",
|
|
466
|
+
"next_allowed_limit": "25000.0",
|
|
467
|
+
"name": "Rahul",
|
|
468
|
+
"kyc_state": 1,
|
|
469
|
+
"chart": [
|
|
470
|
+
{
|
|
471
|
+
"data_type_id": 10,
|
|
472
|
+
"data": {
|
|
473
|
+
"unavailable": 0,
|
|
474
|
+
"used": 0,
|
|
475
|
+
"remaining": 25000
|
|
476
|
+
},
|
|
477
|
+
"label": ""
|
|
478
|
+
}
|
|
479
|
+
]
|
|
424
480
|
}
|
|
425
481
|
}
|
|
426
482
|
},
|
|
427
483
|
"errorScenarios": [
|
|
428
484
|
{
|
|
429
|
-
"scenario": "Sender not
|
|
485
|
+
"scenario": "Sender not enrolled — proceed to Onboard Sender",
|
|
430
486
|
"statusCode": 200,
|
|
431
487
|
"example": {
|
|
432
|
-
"status":
|
|
433
|
-
"response_status_id":
|
|
434
|
-
"message": "Customer
|
|
488
|
+
"status": 308,
|
|
489
|
+
"response_status_id": 1,
|
|
490
|
+
"message": "Failure!Customer Not Enrolled",
|
|
435
491
|
"response_type_id": 308,
|
|
436
|
-
"data": {
|
|
492
|
+
"data": {
|
|
493
|
+
"ekyc_enabled": ""
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
},
|
|
497
|
+
{
|
|
498
|
+
"scenario": "Enrolled on Eko, KYC pending on Fino — proceed to Sender eKYC",
|
|
499
|
+
"statusCode": 200,
|
|
500
|
+
"example": {
|
|
501
|
+
"status": 0,
|
|
502
|
+
"response_status_id": 0,
|
|
503
|
+
"message": "Customer KYC Pending",
|
|
504
|
+
"response_type_id": 2134,
|
|
505
|
+
"data": {
|
|
506
|
+
"otp_ref_id": ""
|
|
507
|
+
}
|
|
437
508
|
}
|
|
438
509
|
}
|
|
439
510
|
],
|
|
@@ -470,7 +541,7 @@
|
|
|
470
541
|
"summary": "Register a new customer as a DMT-Fino sender using basic KYC details.",
|
|
471
542
|
"category": "bc",
|
|
472
543
|
"relevance": "M",
|
|
473
|
-
"description": "Registers a new customer in the DMT-Fino system. Provide the customer's name, date of birth, and residence address. On success the sender is
|
|
544
|
+
"description": "Registers a new customer in the DMT-Fino system. Provide the customer's name, date of birth, and residence address. On success the sender is opened on Eko but KYC on Fino is still pending — complete biometric eKYC (Sender eKYC → Validate eKYC OTP) next. If the sender was already onboarded on Fino externally, the response instead matches the KYC-complete profile from Get Sender Profile (response_type_id 309) and no eKYC is required. After onboarding, call Get Sender Profile to read the sender's current stage.",
|
|
474
545
|
"bestFor": "First-time sender registration in the DMT flow.",
|
|
475
546
|
"docsUrl": "https://eps.eko.in/docs/dmt-onboard-sender",
|
|
476
547
|
"headers": [
|
|
@@ -549,8 +620,8 @@
|
|
|
549
620
|
"name": "residence_address",
|
|
550
621
|
"type": "string",
|
|
551
622
|
"required": true,
|
|
552
|
-
"description": "Customer's residence address as a JSON-encoded
|
|
553
|
-
"example": "
|
|
623
|
+
"description": "Customer's residence address as a JSON-encoded object with keys: line, city, state, pincode, district, area.",
|
|
624
|
+
"example": "{\"line\":\"India\",\"city\":\"Indore\",\"state\":\"Madhya Pradesh\",\"pincode\":\"226024\",\"district\":\"Indore\",\"area\":\"gita bhavan\"}",
|
|
554
625
|
"in": "body"
|
|
555
626
|
}
|
|
556
627
|
],
|
|
@@ -559,7 +630,7 @@
|
|
|
559
630
|
"client_ref_id": "2026010100123456789",
|
|
560
631
|
"name": "Ramesh Kumar",
|
|
561
632
|
"dob": "1990-05-15",
|
|
562
|
-
"residence_address": "
|
|
633
|
+
"residence_address": "{\"line\":\"India\",\"city\":\"Indore\",\"state\":\"Madhya Pradesh\",\"pincode\":\"226024\",\"district\":\"Indore\",\"area\":\"gita bhavan\"}"
|
|
563
634
|
},
|
|
564
635
|
"responseFields": [
|
|
565
636
|
{
|
|
@@ -591,30 +662,11 @@
|
|
|
591
662
|
"type": "object",
|
|
592
663
|
"description": "API-specific response payload.",
|
|
593
664
|
"children": [
|
|
594
|
-
{
|
|
595
|
-
"name": "customer_id",
|
|
596
|
-
"type": "string",
|
|
597
|
-
"description": "Mobile number of the newly registered sender.",
|
|
598
|
-
"imp": true,
|
|
599
|
-
"example": "9123456789"
|
|
600
|
-
},
|
|
601
|
-
{
|
|
602
|
-
"name": "state",
|
|
603
|
-
"type": "number",
|
|
604
|
-
"description": "Account state: 10=Pending KYC verification.",
|
|
605
|
-
"example": 10
|
|
606
|
-
},
|
|
607
665
|
{
|
|
608
666
|
"name": "otp_ref_id",
|
|
609
667
|
"type": "string",
|
|
610
|
-
"description": "
|
|
611
|
-
"example": "
|
|
612
|
-
},
|
|
613
|
-
{
|
|
614
|
-
"name": "available_limit",
|
|
615
|
-
"type": "number",
|
|
616
|
-
"description": "Initial transfer limit before eKYC (in INR). Typically ₹5,000.",
|
|
617
|
-
"example": 5000
|
|
668
|
+
"description": "OTP reference placeholder returned with the KYC-pending status. Empty until eKYC is initiated via Sender eKYC.",
|
|
669
|
+
"example": ""
|
|
618
670
|
}
|
|
619
671
|
]
|
|
620
672
|
}
|
|
@@ -622,29 +674,47 @@
|
|
|
622
674
|
"sampleSuccessResponse": {
|
|
623
675
|
"status": 0,
|
|
624
676
|
"response_status_id": 0,
|
|
625
|
-
"message": "Customer
|
|
626
|
-
"response_type_id":
|
|
677
|
+
"message": "Customer KYC Pending",
|
|
678
|
+
"response_type_id": 2134,
|
|
627
679
|
"data": {
|
|
628
|
-
"
|
|
629
|
-
"state": 10,
|
|
630
|
-
"otp_ref_id": "OTP20240101001",
|
|
631
|
-
"available_limit": 5000
|
|
680
|
+
"otp_ref_id": ""
|
|
632
681
|
}
|
|
633
682
|
},
|
|
634
683
|
"errorScenarios": [
|
|
635
684
|
{
|
|
636
|
-
"scenario": "
|
|
685
|
+
"scenario": "Alternate success — sender already onboarded on Eko, KYC pending",
|
|
637
686
|
"statusCode": 200,
|
|
638
687
|
"example": {
|
|
639
|
-
"status":
|
|
640
|
-
"response_status_id":
|
|
641
|
-
"message": "
|
|
642
|
-
"response_type_id":
|
|
643
|
-
"data": {
|
|
688
|
+
"status": 0,
|
|
689
|
+
"response_status_id": 0,
|
|
690
|
+
"message": "Wallet opened successfully.",
|
|
691
|
+
"response_type_id": 300,
|
|
692
|
+
"data": {
|
|
693
|
+
"customer_id_type": "mobile_number",
|
|
694
|
+
"state_desc": "Non-Kyc",
|
|
695
|
+
"state": "2",
|
|
696
|
+
"customer_id": "9002331157"
|
|
697
|
+
}
|
|
644
698
|
}
|
|
645
699
|
}
|
|
646
700
|
],
|
|
647
|
-
"responseTypes": [
|
|
701
|
+
"responseTypes": [
|
|
702
|
+
{
|
|
703
|
+
"id": 2134,
|
|
704
|
+
"meaning": "Onboarded, KYC pending — proceed to Sender eKYC",
|
|
705
|
+
"next": "dmt-fino-sender-ekyc"
|
|
706
|
+
},
|
|
707
|
+
{
|
|
708
|
+
"id": 300,
|
|
709
|
+
"meaning": "Already onboarded, KYC pending — re-check stage with Get Sender Profile",
|
|
710
|
+
"next": "dmt-get-sender"
|
|
711
|
+
},
|
|
712
|
+
{
|
|
713
|
+
"id": 309,
|
|
714
|
+
"meaning": "Already onboarded on Fino — KYC complete, proceed to Recipients",
|
|
715
|
+
"next": "dmt-get-recipients"
|
|
716
|
+
}
|
|
717
|
+
]
|
|
648
718
|
},
|
|
649
719
|
{
|
|
650
720
|
"slug": "dmt-fino-sender-ekyc",
|
|
@@ -656,7 +726,7 @@
|
|
|
656
726
|
"summary": "Initiate biometric Aadhaar eKYC to verify and upgrade a DMT sender's account.",
|
|
657
727
|
"category": "bc",
|
|
658
728
|
"relevance": "M",
|
|
659
|
-
"description": "Performs biometric eKYC using fingerprint data linked to the sender's Aadhaar number. Requires a compatible RD-service device; the PID XML is captured at the agent's terminal and submitted with the
|
|
729
|
+
"description": "Performs biometric eKYC using fingerprint data linked to the sender's Aadhaar number. Requires a compatible RD-service device; the PID XML is captured at the agent's terminal and submitted with the sender's Aadhaar number (include the `wadh` value when generating the PID). On success the system dispatches an OTP for confirmation; call Validate eKYC OTP next. A successful eKYC upgrades the sender's monthly limit from ₹5,000 to ₹25,000.\n\nTo capture the `piddata` PID block with an RDService-compliant fingerprint scanner, see the [Aadhaar Biometric Authentication guide](/docs/aadhaar-biometric-rdservice).",
|
|
660
730
|
"bestFor": "KYC upgrade for new senders to raise monthly transfer limits.",
|
|
661
731
|
"docsUrl": "https://eps.eko.in/docs/dmt-fino-sender-ekyc",
|
|
662
732
|
"headers": [
|
|
@@ -768,24 +838,31 @@
|
|
|
768
838
|
"type": "object",
|
|
769
839
|
"description": "API-specific response payload.",
|
|
770
840
|
"children": [
|
|
841
|
+
{
|
|
842
|
+
"name": "user_code",
|
|
843
|
+
"type": "string",
|
|
844
|
+
"description": "Agent user code associated with the KYC request.",
|
|
845
|
+
"example": "10472151"
|
|
846
|
+
},
|
|
847
|
+
{
|
|
848
|
+
"name": "intent_id",
|
|
849
|
+
"type": "string",
|
|
850
|
+
"description": "Reserved intent identifier (empty in the standard flow).",
|
|
851
|
+
"example": ""
|
|
852
|
+
},
|
|
771
853
|
{
|
|
772
854
|
"name": "kyc_request_id",
|
|
773
855
|
"type": "string",
|
|
774
856
|
"description": "Unique identifier for this KYC request. Required for the Validate eKYC OTP step.",
|
|
775
857
|
"imp": true,
|
|
776
|
-
"example": "
|
|
858
|
+
"example": "9332126"
|
|
777
859
|
},
|
|
778
860
|
{
|
|
779
861
|
"name": "otp_ref_id",
|
|
780
862
|
"type": "string",
|
|
781
|
-
"description": "Reference ID for the OTP sent to the sender's Aadhaar-linked mobile.",
|
|
782
|
-
"
|
|
783
|
-
|
|
784
|
-
{
|
|
785
|
-
"name": "mobile",
|
|
786
|
-
"type": "string",
|
|
787
|
-
"description": "Masked mobile number to which the OTP was dispatched.",
|
|
788
|
-
"example": "XXXXXXX789"
|
|
863
|
+
"description": "Reference ID for the OTP sent to the sender's Aadhaar-linked mobile. Required for the Validate eKYC OTP step.",
|
|
864
|
+
"imp": true,
|
|
865
|
+
"example": "666803844"
|
|
789
866
|
}
|
|
790
867
|
]
|
|
791
868
|
}
|
|
@@ -793,28 +870,50 @@
|
|
|
793
870
|
"sampleSuccessResponse": {
|
|
794
871
|
"status": 0,
|
|
795
872
|
"response_status_id": 0,
|
|
796
|
-
"message": "
|
|
797
|
-
"response_type_id":
|
|
873
|
+
"message": "Validate the OTP",
|
|
874
|
+
"response_type_id": 2129,
|
|
798
875
|
"data": {
|
|
799
|
-
"
|
|
800
|
-
"
|
|
801
|
-
"
|
|
876
|
+
"user_code": "10472151",
|
|
877
|
+
"intent_id": "",
|
|
878
|
+
"kyc_request_id": "9332126",
|
|
879
|
+
"otp_ref_id": "666803844"
|
|
802
880
|
}
|
|
803
881
|
},
|
|
804
882
|
"errorScenarios": [
|
|
805
883
|
{
|
|
806
|
-
"scenario": "
|
|
884
|
+
"scenario": "Incorrect PID data — eKYC verification failed",
|
|
807
885
|
"statusCode": 200,
|
|
808
886
|
"example": {
|
|
809
|
-
"status":
|
|
810
|
-
"response_status_id":
|
|
811
|
-
"message": "Customer
|
|
812
|
-
"response_type_id":
|
|
813
|
-
"data": {
|
|
887
|
+
"status": 2135,
|
|
888
|
+
"response_status_id": 1,
|
|
889
|
+
"message": "Customer KYC Pending",
|
|
890
|
+
"response_type_id": 2135,
|
|
891
|
+
"data": {
|
|
892
|
+
"description": "K-100 EKYC Verification failed"
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
},
|
|
896
|
+
{
|
|
897
|
+
"scenario": "Sender already has an existing relationship with the bank",
|
|
898
|
+
"statusCode": 200,
|
|
899
|
+
"example": {
|
|
900
|
+
"status": 2135,
|
|
901
|
+
"response_status_id": 1,
|
|
902
|
+
"message": "Customer KYC Pending",
|
|
903
|
+
"response_type_id": 2135,
|
|
904
|
+
"data": {
|
|
905
|
+
"description": "Sorry! Since you already have an existing relationship with the bank"
|
|
906
|
+
}
|
|
814
907
|
}
|
|
815
908
|
}
|
|
816
909
|
],
|
|
817
|
-
"responseTypes": [
|
|
910
|
+
"responseTypes": [
|
|
911
|
+
{
|
|
912
|
+
"id": 2129,
|
|
913
|
+
"meaning": "OTP sent — proceed to Validate eKYC OTP",
|
|
914
|
+
"next": "dmt-fino-validate-ekyc-otp"
|
|
915
|
+
}
|
|
916
|
+
]
|
|
818
917
|
},
|
|
819
918
|
{
|
|
820
919
|
"slug": "dmt-fino-validate-ekyc-otp",
|
|
@@ -948,24 +1047,11 @@
|
|
|
948
1047
|
"description": "API-specific response payload.",
|
|
949
1048
|
"children": [
|
|
950
1049
|
{
|
|
951
|
-
"name": "
|
|
1050
|
+
"name": "user_code",
|
|
952
1051
|
"type": "string",
|
|
953
|
-
"description": "
|
|
954
|
-
"example": "9123456789"
|
|
955
|
-
},
|
|
956
|
-
{
|
|
957
|
-
"name": "kyc_verified",
|
|
958
|
-
"type": "boolean",
|
|
959
|
-
"description": "Confirms successful eKYC completion.",
|
|
960
|
-
"imp": true,
|
|
961
|
-
"example": true
|
|
962
|
-
},
|
|
963
|
-
{
|
|
964
|
-
"name": "available_limit",
|
|
965
|
-
"type": "number",
|
|
966
|
-
"description": "Updated monthly transfer limit after KYC (in INR).",
|
|
1052
|
+
"description": "Agent user code for the now KYC-verified sender. eKYC is complete on success.",
|
|
967
1053
|
"imp": true,
|
|
968
|
-
"example":
|
|
1054
|
+
"example": "10472151"
|
|
969
1055
|
}
|
|
970
1056
|
]
|
|
971
1057
|
}
|
|
@@ -973,35 +1059,50 @@
|
|
|
973
1059
|
"sampleSuccessResponse": {
|
|
974
1060
|
"status": 0,
|
|
975
1061
|
"response_status_id": 0,
|
|
976
|
-
"message": "
|
|
977
|
-
"response_type_id":
|
|
1062
|
+
"message": "Customer Registration Completed",
|
|
1063
|
+
"response_type_id": 2132,
|
|
978
1064
|
"data": {
|
|
979
|
-
"
|
|
980
|
-
"kyc_verified": true,
|
|
981
|
-
"available_limit": 25000
|
|
1065
|
+
"user_code": "10472151"
|
|
982
1066
|
}
|
|
983
1067
|
},
|
|
984
1068
|
"errorScenarios": [
|
|
1069
|
+
{
|
|
1070
|
+
"scenario": "Sender already registered",
|
|
1071
|
+
"statusCode": 200,
|
|
1072
|
+
"example": {
|
|
1073
|
+
"status": 2131,
|
|
1074
|
+
"response_status_id": 1,
|
|
1075
|
+
"message": "Validate OTP Failed",
|
|
1076
|
+
"response_type_id": 2131,
|
|
1077
|
+
"data": {
|
|
1078
|
+
"description": "Customer Already registred"
|
|
1079
|
+
}
|
|
1080
|
+
}
|
|
1081
|
+
},
|
|
985
1082
|
{
|
|
986
1083
|
"scenario": "Incorrect OTP entered",
|
|
987
1084
|
"statusCode": 200,
|
|
988
1085
|
"example": {
|
|
989
|
-
"status":
|
|
1086
|
+
"status": 2131,
|
|
990
1087
|
"response_status_id": 302,
|
|
991
|
-
"message": "
|
|
992
|
-
"response_type_id":
|
|
993
|
-
"data": {
|
|
1088
|
+
"message": "Validate OTP Failed",
|
|
1089
|
+
"response_type_id": 2131,
|
|
1090
|
+
"data": {
|
|
1091
|
+
"description": "Wrong OTP"
|
|
1092
|
+
}
|
|
994
1093
|
}
|
|
995
1094
|
},
|
|
996
1095
|
{
|
|
997
1096
|
"scenario": "OTP has expired",
|
|
998
1097
|
"statusCode": 200,
|
|
999
1098
|
"example": {
|
|
1000
|
-
"status":
|
|
1099
|
+
"status": 2131,
|
|
1001
1100
|
"response_status_id": 303,
|
|
1002
|
-
"message": "OTP
|
|
1003
|
-
"response_type_id":
|
|
1004
|
-
"data": {
|
|
1101
|
+
"message": "Validate OTP Failed",
|
|
1102
|
+
"response_type_id": 2131,
|
|
1103
|
+
"data": {
|
|
1104
|
+
"description": "OTP expired"
|
|
1105
|
+
}
|
|
1005
1106
|
}
|
|
1006
1107
|
}
|
|
1007
1108
|
],
|
|
@@ -1109,59 +1210,106 @@
|
|
|
1109
1210
|
"description": "API-specific response payload.",
|
|
1110
1211
|
"children": [
|
|
1111
1212
|
{
|
|
1112
|
-
"name": "
|
|
1213
|
+
"name": "pan_required",
|
|
1113
1214
|
"type": "number",
|
|
1114
|
-
"description": "
|
|
1215
|
+
"description": "PAN requirement flag for the sender.",
|
|
1115
1216
|
"example": 2
|
|
1116
1217
|
},
|
|
1117
1218
|
{
|
|
1118
|
-
"name": "
|
|
1219
|
+
"name": "remaining_limit_before_pan_required",
|
|
1220
|
+
"type": "number",
|
|
1221
|
+
"description": "Amount the sender can still transfer before PAN becomes mandatory (INR).",
|
|
1222
|
+
"example": 50000
|
|
1223
|
+
},
|
|
1224
|
+
{
|
|
1225
|
+
"name": "recipient_list",
|
|
1119
1226
|
"type": "array",
|
|
1120
|
-
"description": "
|
|
1227
|
+
"description": "Registered beneficiaries for this sender.",
|
|
1121
1228
|
"children": [
|
|
1122
1229
|
{
|
|
1123
1230
|
"name": "recipient_id",
|
|
1124
1231
|
"type": "number",
|
|
1125
|
-
"description": "
|
|
1232
|
+
"description": "Identifier used in the Send Transaction OTP and Execute Transaction APIs.",
|
|
1126
1233
|
"imp": true,
|
|
1127
|
-
"example":
|
|
1234
|
+
"example": 117015428
|
|
1235
|
+
},
|
|
1236
|
+
{
|
|
1237
|
+
"name": "beneficiary_id",
|
|
1238
|
+
"type": "number",
|
|
1239
|
+
"description": "Beneficiary identifier (mirrors recipient_id).",
|
|
1240
|
+
"example": 117015428
|
|
1241
|
+
},
|
|
1242
|
+
{
|
|
1243
|
+
"name": "bank_recipient_id",
|
|
1244
|
+
"type": "number",
|
|
1245
|
+
"description": "Bank-side recipient identifier.",
|
|
1246
|
+
"example": 117015428
|
|
1128
1247
|
},
|
|
1129
1248
|
{
|
|
1130
1249
|
"name": "recipient_name",
|
|
1131
1250
|
"type": "string",
|
|
1132
|
-
"description": "
|
|
1251
|
+
"description": "Beneficiary name.",
|
|
1133
1252
|
"imp": true,
|
|
1134
|
-
"example": "
|
|
1253
|
+
"example": "yashwant basnett"
|
|
1135
1254
|
},
|
|
1136
1255
|
{
|
|
1137
|
-
"name": "
|
|
1256
|
+
"name": "recipient_mobile",
|
|
1257
|
+
"type": "string",
|
|
1258
|
+
"description": "Beneficiary mobile number.",
|
|
1259
|
+
"example": "9002331157"
|
|
1260
|
+
},
|
|
1261
|
+
{
|
|
1262
|
+
"name": "bank",
|
|
1138
1263
|
"type": "string",
|
|
1139
|
-
"description": "Beneficiary
|
|
1140
|
-
"example": "
|
|
1264
|
+
"description": "Beneficiary bank name.",
|
|
1265
|
+
"example": "State Bank of India"
|
|
1141
1266
|
},
|
|
1142
1267
|
{
|
|
1143
1268
|
"name": "ifsc",
|
|
1144
1269
|
"type": "string",
|
|
1145
|
-
"description": "IFSC code
|
|
1146
|
-
"example": "
|
|
1270
|
+
"description": "Beneficiary bank IFSC code.",
|
|
1271
|
+
"example": "SBIN0007515"
|
|
1147
1272
|
},
|
|
1148
1273
|
{
|
|
1149
|
-
"name": "
|
|
1274
|
+
"name": "account",
|
|
1150
1275
|
"type": "string",
|
|
1151
|
-
"description": "
|
|
1152
|
-
"example": "
|
|
1276
|
+
"description": "Beneficiary bank account number.",
|
|
1277
|
+
"example": "38759149196"
|
|
1153
1278
|
},
|
|
1154
1279
|
{
|
|
1155
|
-
"name": "
|
|
1280
|
+
"name": "account_type",
|
|
1156
1281
|
"type": "string",
|
|
1157
|
-
"description": "
|
|
1158
|
-
"example": "
|
|
1282
|
+
"description": "Type of the beneficiary account.",
|
|
1283
|
+
"example": "Bank Account"
|
|
1284
|
+
},
|
|
1285
|
+
{
|
|
1286
|
+
"name": "ifsc_status",
|
|
1287
|
+
"type": "number",
|
|
1288
|
+
"description": "Whether the IFSC is valid/active (1 = valid).",
|
|
1289
|
+
"example": 1
|
|
1159
1290
|
},
|
|
1160
1291
|
{
|
|
1161
1292
|
"name": "is_verified",
|
|
1162
|
-
"type": "
|
|
1163
|
-
"description": "Whether the
|
|
1164
|
-
"example":
|
|
1293
|
+
"type": "number",
|
|
1294
|
+
"description": "Whether the account has been penny-drop verified (1 = verified).",
|
|
1295
|
+
"example": 0
|
|
1296
|
+
},
|
|
1297
|
+
{
|
|
1298
|
+
"name": "is_otp_required",
|
|
1299
|
+
"type": "string",
|
|
1300
|
+
"description": "Whether an OTP is required to transact to this recipient.",
|
|
1301
|
+
"example": "0"
|
|
1302
|
+
},
|
|
1303
|
+
{
|
|
1304
|
+
"name": "pipes",
|
|
1305
|
+
"type": "object",
|
|
1306
|
+
"description": "Available settlement pipes for this recipient, keyed by pipe id.",
|
|
1307
|
+
"example": {
|
|
1308
|
+
"3": {
|
|
1309
|
+
"pipe": 3,
|
|
1310
|
+
"status": 1
|
|
1311
|
+
}
|
|
1312
|
+
}
|
|
1165
1313
|
}
|
|
1166
1314
|
]
|
|
1167
1315
|
}
|
|
@@ -1172,33 +1320,71 @@
|
|
|
1172
1320
|
"status": 0,
|
|
1173
1321
|
"response_status_id": 0,
|
|
1174
1322
|
"message": "Success",
|
|
1175
|
-
"response_type_id":
|
|
1323
|
+
"response_type_id": 23,
|
|
1176
1324
|
"data": {
|
|
1177
|
-
"
|
|
1178
|
-
"
|
|
1179
|
-
{
|
|
1180
|
-
"recipient_id":
|
|
1181
|
-
"
|
|
1182
|
-
"
|
|
1183
|
-
"
|
|
1184
|
-
"
|
|
1185
|
-
"
|
|
1186
|
-
"
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
"
|
|
1190
|
-
"
|
|
1191
|
-
"
|
|
1192
|
-
"
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1325
|
+
"pan_required": 2,
|
|
1326
|
+
"recipient_list": [
|
|
1327
|
+
{
|
|
1328
|
+
"recipient_id": 117015428,
|
|
1329
|
+
"beneficiary_id": 117015428,
|
|
1330
|
+
"bank_recipient_id": 117015428,
|
|
1331
|
+
"recipient_name": "yashwant basnett",
|
|
1332
|
+
"recipient_mobile": "9002331157",
|
|
1333
|
+
"bank": "State Bank of India",
|
|
1334
|
+
"ifsc": "SBIN0007515",
|
|
1335
|
+
"account": "38759149196",
|
|
1336
|
+
"account_type": "Bank Account",
|
|
1337
|
+
"ifsc_status": 1,
|
|
1338
|
+
"is_verified": 0,
|
|
1339
|
+
"is_otp_required": "0",
|
|
1340
|
+
"pipes": {
|
|
1341
|
+
"3": {
|
|
1342
|
+
"pipe": 3,
|
|
1343
|
+
"status": 1
|
|
1344
|
+
}
|
|
1345
|
+
}
|
|
1196
1346
|
}
|
|
1197
|
-
]
|
|
1347
|
+
],
|
|
1348
|
+
"remaining_limit_before_pan_required": 50000
|
|
1198
1349
|
}
|
|
1199
1350
|
},
|
|
1200
|
-
"errorScenarios": [
|
|
1201
|
-
|
|
1351
|
+
"errorScenarios": [
|
|
1352
|
+
{
|
|
1353
|
+
"scenario": "No recipients registered yet — add one",
|
|
1354
|
+
"statusCode": 200,
|
|
1355
|
+
"example": {
|
|
1356
|
+
"status": 0,
|
|
1357
|
+
"response_status_id": -1,
|
|
1358
|
+
"message": "No recepients found",
|
|
1359
|
+
"response_type_id": 22
|
|
1360
|
+
}
|
|
1361
|
+
},
|
|
1362
|
+
{
|
|
1363
|
+
"scenario": "Customer does not exist in system",
|
|
1364
|
+
"statusCode": 200,
|
|
1365
|
+
"example": {
|
|
1366
|
+
"status": 463,
|
|
1367
|
+
"response_status_id": 1,
|
|
1368
|
+
"message": "customer_id does not exist in system",
|
|
1369
|
+
"response_type_id": -1,
|
|
1370
|
+
"invalid_params": {
|
|
1371
|
+
"customer_id": "Customer does not exist in System"
|
|
1372
|
+
}
|
|
1373
|
+
}
|
|
1374
|
+
}
|
|
1375
|
+
],
|
|
1376
|
+
"responseTypes": [
|
|
1377
|
+
{
|
|
1378
|
+
"id": 22,
|
|
1379
|
+
"meaning": "No recipients — add one before transacting",
|
|
1380
|
+
"next": "dmt-add-recipient"
|
|
1381
|
+
},
|
|
1382
|
+
{
|
|
1383
|
+
"id": 23,
|
|
1384
|
+
"meaning": "Recipients found — proceed to Send Transaction OTP",
|
|
1385
|
+
"next": "dmt-send-otp"
|
|
1386
|
+
}
|
|
1387
|
+
]
|
|
1202
1388
|
},
|
|
1203
1389
|
{
|
|
1204
1390
|
"slug": "dmt-add-recipient",
|
|
@@ -1206,11 +1392,11 @@
|
|
|
1206
1392
|
"productName": "Domestic Money Transfer (DMT)",
|
|
1207
1393
|
"name": "Add Recipient",
|
|
1208
1394
|
"method": "POST",
|
|
1209
|
-
"path": "/customer/payment/dmt-fino/sender/{customer_id}/
|
|
1395
|
+
"path": "/customer/payment/dmt-fino/sender/{customer_id}/recipient",
|
|
1210
1396
|
"summary": "Register a new beneficiary under a sender's DMT-Fino account.",
|
|
1211
1397
|
"category": "bc",
|
|
1212
1398
|
"relevance": "M",
|
|
1213
|
-
"description": "Adds a new beneficiary to the sender's saved recipients list. Provide the recipient's full name, bank account number, IFSC code, and mobile number.
|
|
1399
|
+
"description": "Adds a new beneficiary to the sender's saved recipients list. Provide the recipient's full name, bank account number, IFSC code, and mobile number. On success a recipient_id is returned; use it in Send Transaction OTP and Execute Transaction. The system may validate the account via penny-drop before activating the recipient.",
|
|
1214
1400
|
"bestFor": "Adding a new beneficiary before a first-time transfer.",
|
|
1215
1401
|
"docsUrl": "https://eps.eko.in/docs/dmt-add-recipient",
|
|
1216
1402
|
"headers": [
|
|
@@ -1270,19 +1456,19 @@
|
|
|
1270
1456
|
"in": "path"
|
|
1271
1457
|
},
|
|
1272
1458
|
{
|
|
1273
|
-
"name": "
|
|
1459
|
+
"name": "recipient_mobile",
|
|
1274
1460
|
"type": "string",
|
|
1275
1461
|
"required": true,
|
|
1276
|
-
"description": "
|
|
1277
|
-
"example": "
|
|
1462
|
+
"description": "Beneficiary's 10-digit mobile number.",
|
|
1463
|
+
"example": "9002331157",
|
|
1278
1464
|
"in": "body"
|
|
1279
1465
|
},
|
|
1280
1466
|
{
|
|
1281
|
-
"name": "
|
|
1467
|
+
"name": "recipient_name",
|
|
1282
1468
|
"type": "string",
|
|
1283
1469
|
"required": true,
|
|
1284
|
-
"description": "
|
|
1285
|
-
"example": "
|
|
1470
|
+
"description": "Full name of the beneficiary as it appears on their bank account.",
|
|
1471
|
+
"example": "yashwant basnett",
|
|
1286
1472
|
"in": "body"
|
|
1287
1473
|
},
|
|
1288
1474
|
{
|
|
@@ -1290,43 +1476,25 @@
|
|
|
1290
1476
|
"type": "string",
|
|
1291
1477
|
"required": true,
|
|
1292
1478
|
"description": "IFSC code of the beneficiary's bank branch.",
|
|
1293
|
-
"example": "
|
|
1294
|
-
"in": "body"
|
|
1295
|
-
},
|
|
1296
|
-
{
|
|
1297
|
-
"name": "bank_id",
|
|
1298
|
-
"type": "number",
|
|
1299
|
-
"required": true,
|
|
1300
|
-
"description": "Unique bank identifier from Eko's bank list API.",
|
|
1301
|
-
"example": 20,
|
|
1479
|
+
"example": "SBIN0007515",
|
|
1302
1480
|
"in": "body"
|
|
1303
1481
|
},
|
|
1304
1482
|
{
|
|
1305
|
-
"name": "
|
|
1306
|
-
"type": "string",
|
|
1307
|
-
"required": true,
|
|
1308
|
-
"description": "10-digit mobile number of the recipient.",
|
|
1309
|
-
"example": "9988776655",
|
|
1310
|
-
"in": "body"
|
|
1311
|
-
},
|
|
1312
|
-
{
|
|
1313
|
-
"name": "recipient_type",
|
|
1483
|
+
"name": "account",
|
|
1314
1484
|
"type": "string",
|
|
1315
1485
|
"required": true,
|
|
1316
|
-
"description": "
|
|
1317
|
-
"example": "
|
|
1486
|
+
"description": "Beneficiary's bank account number.",
|
|
1487
|
+
"example": "38759149196",
|
|
1318
1488
|
"in": "body"
|
|
1319
1489
|
}
|
|
1320
1490
|
],
|
|
1321
1491
|
"sampleRequest": {
|
|
1322
1492
|
"initiator_id": "9962981729",
|
|
1323
1493
|
"client_ref_id": "2026010100123456789",
|
|
1324
|
-
"
|
|
1325
|
-
"
|
|
1326
|
-
"ifsc": "
|
|
1327
|
-
"
|
|
1328
|
-
"recipient_mobile": "9988776655",
|
|
1329
|
-
"recipient_type": "3"
|
|
1494
|
+
"recipient_mobile": "9002331157",
|
|
1495
|
+
"recipient_name": "yashwant basnett",
|
|
1496
|
+
"ifsc": "SBIN0007515",
|
|
1497
|
+
"account": "38759149196"
|
|
1330
1498
|
},
|
|
1331
1499
|
"responseFields": [
|
|
1332
1500
|
{
|
|
@@ -1361,34 +1529,39 @@
|
|
|
1361
1529
|
{
|
|
1362
1530
|
"name": "recipient_id",
|
|
1363
1531
|
"type": "number",
|
|
1364
|
-
"description": "Unique identifier assigned to the newly added recipient. Required for Send OTP and
|
|
1532
|
+
"description": "Unique identifier assigned to the newly added recipient. Required for Send Transaction OTP and Execute Transaction.",
|
|
1365
1533
|
"imp": true,
|
|
1366
|
-
"example":
|
|
1534
|
+
"example": 117015428
|
|
1367
1535
|
},
|
|
1368
1536
|
{
|
|
1369
|
-
"name": "
|
|
1537
|
+
"name": "customer_id",
|
|
1370
1538
|
"type": "string",
|
|
1371
|
-
"description": "
|
|
1372
|
-
"
|
|
1373
|
-
"example": "Sunil Sharma"
|
|
1539
|
+
"description": "Sender's mobile number (echoed back).",
|
|
1540
|
+
"example": "9155927131"
|
|
1374
1541
|
},
|
|
1375
1542
|
{
|
|
1376
|
-
"name": "
|
|
1543
|
+
"name": "recipient_mobile",
|
|
1377
1544
|
"type": "string",
|
|
1378
|
-
"description": "
|
|
1379
|
-
"example": "
|
|
1545
|
+
"description": "Beneficiary mobile number (echoed back).",
|
|
1546
|
+
"example": "9002331157"
|
|
1380
1547
|
},
|
|
1381
1548
|
{
|
|
1382
|
-
"name": "
|
|
1549
|
+
"name": "initiator_id",
|
|
1383
1550
|
"type": "string",
|
|
1384
|
-
"description": "
|
|
1385
|
-
"example": "
|
|
1551
|
+
"description": "Partner initiator ID (echoed back).",
|
|
1552
|
+
"example": "<initiator_id>"
|
|
1386
1553
|
},
|
|
1387
1554
|
{
|
|
1388
|
-
"name": "
|
|
1389
|
-
"type": "
|
|
1390
|
-
"description": "
|
|
1391
|
-
"example":
|
|
1555
|
+
"name": "pipes",
|
|
1556
|
+
"type": "object",
|
|
1557
|
+
"description": "Available settlement pipes for the new recipient.",
|
|
1558
|
+
"example": {}
|
|
1559
|
+
},
|
|
1560
|
+
{
|
|
1561
|
+
"name": "otp_ref_id",
|
|
1562
|
+
"type": "string",
|
|
1563
|
+
"description": "OTP reference placeholder (empty on add).",
|
|
1564
|
+
"example": ""
|
|
1392
1565
|
}
|
|
1393
1566
|
]
|
|
1394
1567
|
}
|
|
@@ -1396,14 +1569,15 @@
|
|
|
1396
1569
|
"sampleSuccessResponse": {
|
|
1397
1570
|
"status": 0,
|
|
1398
1571
|
"response_status_id": 0,
|
|
1399
|
-
"message": "
|
|
1400
|
-
"response_type_id":
|
|
1572
|
+
"message": "Success!Please transact using Recipientid",
|
|
1573
|
+
"response_type_id": 43,
|
|
1401
1574
|
"data": {
|
|
1402
|
-
"recipient_id":
|
|
1403
|
-
"
|
|
1404
|
-
"
|
|
1405
|
-
"
|
|
1406
|
-
"
|
|
1575
|
+
"recipient_id": 117015428,
|
|
1576
|
+
"customer_id": "9155927131",
|
|
1577
|
+
"recipient_mobile": "9002331157",
|
|
1578
|
+
"initiator_id": "<initiator_id>",
|
|
1579
|
+
"pipes": {},
|
|
1580
|
+
"otp_ref_id": ""
|
|
1407
1581
|
}
|
|
1408
1582
|
},
|
|
1409
1583
|
"errorScenarios": [
|
|
@@ -1411,15 +1585,34 @@
|
|
|
1411
1585
|
"scenario": "Recipient already registered for this sender",
|
|
1412
1586
|
"statusCode": 200,
|
|
1413
1587
|
"example": {
|
|
1414
|
-
"status":
|
|
1415
|
-
"response_status_id":
|
|
1588
|
+
"status": 342,
|
|
1589
|
+
"response_status_id": 1,
|
|
1416
1590
|
"message": "Recipient already registered",
|
|
1417
|
-
"response_type_id":
|
|
1591
|
+
"response_type_id": -1,
|
|
1418
1592
|
"data": {}
|
|
1419
1593
|
}
|
|
1594
|
+
},
|
|
1595
|
+
{
|
|
1596
|
+
"scenario": "Customer does not exist in system",
|
|
1597
|
+
"statusCode": 200,
|
|
1598
|
+
"example": {
|
|
1599
|
+
"status": 463,
|
|
1600
|
+
"response_status_id": 1,
|
|
1601
|
+
"message": "customer_id does not exist in system",
|
|
1602
|
+
"response_type_id": -1,
|
|
1603
|
+
"invalid_params": {
|
|
1604
|
+
"customer_id": "Customer does not exist in System"
|
|
1605
|
+
}
|
|
1606
|
+
}
|
|
1420
1607
|
}
|
|
1421
1608
|
],
|
|
1422
|
-
"responseTypes": [
|
|
1609
|
+
"responseTypes": [
|
|
1610
|
+
{
|
|
1611
|
+
"id": 43,
|
|
1612
|
+
"meaning": "Recipient added — proceed to Send Transaction OTP",
|
|
1613
|
+
"next": "dmt-send-otp"
|
|
1614
|
+
}
|
|
1615
|
+
]
|
|
1423
1616
|
},
|
|
1424
1617
|
{
|
|
1425
1618
|
"slug": "dmt-send-otp",
|
|
@@ -1547,15 +1740,9 @@
|
|
|
1547
1740
|
{
|
|
1548
1741
|
"name": "otp_ref_id",
|
|
1549
1742
|
"type": "string",
|
|
1550
|
-
"description": "Reference ID for the OTP sent. Must be passed to
|
|
1743
|
+
"description": "Reference ID for the OTP sent. Must be passed to Execute Transaction along with the customer-entered OTP.",
|
|
1551
1744
|
"imp": true,
|
|
1552
|
-
"example": "
|
|
1553
|
-
},
|
|
1554
|
-
{
|
|
1555
|
-
"name": "mobile",
|
|
1556
|
-
"type": "string",
|
|
1557
|
-
"description": "Masked mobile number to which the OTP was sent (for display to agent/customer).",
|
|
1558
|
-
"example": "XXXXXX6789"
|
|
1745
|
+
"example": "666902416"
|
|
1559
1746
|
}
|
|
1560
1747
|
]
|
|
1561
1748
|
}
|
|
@@ -1563,11 +1750,10 @@
|
|
|
1563
1750
|
"sampleSuccessResponse": {
|
|
1564
1751
|
"status": 0,
|
|
1565
1752
|
"response_status_id": 0,
|
|
1566
|
-
"message": "OTP
|
|
1567
|
-
"response_type_id":
|
|
1753
|
+
"message": "Send OTP",
|
|
1754
|
+
"response_type_id": 2133,
|
|
1568
1755
|
"data": {
|
|
1569
|
-
"otp_ref_id": "
|
|
1570
|
-
"mobile": "XXXXXX6789"
|
|
1756
|
+
"otp_ref_id": "666902416"
|
|
1571
1757
|
}
|
|
1572
1758
|
},
|
|
1573
1759
|
"errorScenarios": [
|
|
@@ -1575,15 +1761,45 @@
|
|
|
1575
1761
|
"scenario": "Sender monthly limit exhausted",
|
|
1576
1762
|
"statusCode": 200,
|
|
1577
1763
|
"example": {
|
|
1578
|
-
"status":
|
|
1579
|
-
"
|
|
1764
|
+
"status": 36,
|
|
1765
|
+
"response_type_id": 36,
|
|
1766
|
+
"response_status_id": 1,
|
|
1580
1767
|
"message": "Sender/beneficiary monthly limit exhausted",
|
|
1581
|
-
"response_type_id": 1388,
|
|
1582
1768
|
"data": {}
|
|
1583
1769
|
}
|
|
1770
|
+
},
|
|
1771
|
+
{
|
|
1772
|
+
"scenario": "Beneficiary monthly limit exhausted",
|
|
1773
|
+
"statusCode": 200,
|
|
1774
|
+
"example": {
|
|
1775
|
+
"status": 945,
|
|
1776
|
+
"response_type_id": 945,
|
|
1777
|
+
"response_status_id": 1,
|
|
1778
|
+
"message": "Beneficiary monthly limit exhausted",
|
|
1779
|
+
"data": {}
|
|
1780
|
+
}
|
|
1781
|
+
},
|
|
1782
|
+
{
|
|
1783
|
+
"scenario": "Customer does not exist in system",
|
|
1784
|
+
"statusCode": 200,
|
|
1785
|
+
"example": {
|
|
1786
|
+
"status": 463,
|
|
1787
|
+
"response_status_id": 1,
|
|
1788
|
+
"message": "customer_id does not exist in system",
|
|
1789
|
+
"response_type_id": -1,
|
|
1790
|
+
"invalid_params": {
|
|
1791
|
+
"customer_id": "Customer does not exist in System"
|
|
1792
|
+
}
|
|
1793
|
+
}
|
|
1584
1794
|
}
|
|
1585
1795
|
],
|
|
1586
|
-
"responseTypes": [
|
|
1796
|
+
"responseTypes": [
|
|
1797
|
+
{
|
|
1798
|
+
"id": 2133,
|
|
1799
|
+
"meaning": "Transaction OTP sent — proceed to Execute Transaction",
|
|
1800
|
+
"next": "dmt-initiate-transfer"
|
|
1801
|
+
}
|
|
1802
|
+
]
|
|
1587
1803
|
},
|
|
1588
1804
|
{
|
|
1589
1805
|
"slug": "dmt-initiate-transfer",
|
|
@@ -1595,7 +1811,7 @@
|
|
|
1595
1811
|
"summary": "Execute a DMT-Fino money transfer after OTP verification.",
|
|
1596
1812
|
"category": "bc",
|
|
1597
1813
|
"relevance": "M",
|
|
1598
|
-
"description": "The final and only financial step in the DMT flow. Debits the agent's wallet and initiates an IMPS transfer to the registered recipient's bank account. Requires the
|
|
1814
|
+
"description": "The final and only financial step in the DMT flow. Debits the agent's wallet and initiates an IMPS transfer to the registered recipient's bank account after OTP validation. Requires the otp and otp_ref_id from Send Transaction OTP plus a unique client_ref_id per attempt for idempotency and reconciliation. The response returns tid (Eko transaction ID) and bank_ref_num (the IMPS RRN/UTR). Use a fresh otp_ref_id and OTP for each attempt — a consumed OTP is rejected — and always persist tid, bank_ref_num, and your client_ref_id to reconcile before retrying.",
|
|
1599
1815
|
"bestFor": "Executing the actual money transfer — the only money-debit step in the DMT flow.",
|
|
1600
1816
|
"docsUrl": "https://eps.eko.in/docs/dmt-initiate-transfer",
|
|
1601
1817
|
"financial": true,
|
|
@@ -1639,28 +1855,20 @@
|
|
|
1639
1855
|
"example": "9962981729",
|
|
1640
1856
|
"in": "body"
|
|
1641
1857
|
},
|
|
1642
|
-
{
|
|
1643
|
-
"name": "client_ref_id",
|
|
1644
|
-
"type": "string",
|
|
1645
|
-
"required": false,
|
|
1646
|
-
"description": "Unique reference ID per API call, generated by your system (max 20 characters).",
|
|
1647
|
-
"example": "2026010100123456789",
|
|
1648
|
-
"in": "body"
|
|
1649
|
-
},
|
|
1650
1858
|
{
|
|
1651
1859
|
"name": "recipient_id",
|
|
1652
1860
|
"type": "number",
|
|
1653
1861
|
"required": true,
|
|
1654
1862
|
"description": "Unique recipient ID from Add Recipient or Get Recipients.",
|
|
1655
|
-
"example":
|
|
1863
|
+
"example": 117015428,
|
|
1656
1864
|
"in": "body"
|
|
1657
1865
|
},
|
|
1658
1866
|
{
|
|
1659
1867
|
"name": "amount",
|
|
1660
1868
|
"type": "number",
|
|
1661
1869
|
"required": true,
|
|
1662
|
-
"description": "Transfer amount in INR (must match the amount sent to Send OTP).",
|
|
1663
|
-
"example":
|
|
1870
|
+
"description": "Transfer amount in INR (must match the amount sent to Send Transaction OTP).",
|
|
1871
|
+
"example": 100,
|
|
1664
1872
|
"in": "body"
|
|
1665
1873
|
},
|
|
1666
1874
|
{
|
|
@@ -1668,7 +1876,7 @@
|
|
|
1668
1876
|
"type": "string",
|
|
1669
1877
|
"required": true,
|
|
1670
1878
|
"description": "Sender's 10-digit mobile number.",
|
|
1671
|
-
"example": "
|
|
1879
|
+
"example": "9155927131",
|
|
1672
1880
|
"in": "body"
|
|
1673
1881
|
},
|
|
1674
1882
|
{
|
|
@@ -1676,7 +1884,7 @@
|
|
|
1676
1884
|
"type": "string",
|
|
1677
1885
|
"required": true,
|
|
1678
1886
|
"description": "OTP entered by the customer, received on their registered mobile.",
|
|
1679
|
-
"example": "
|
|
1887
|
+
"example": "4702",
|
|
1680
1888
|
"in": "body"
|
|
1681
1889
|
},
|
|
1682
1890
|
{
|
|
@@ -1684,72 +1892,26 @@
|
|
|
1684
1892
|
"type": "string",
|
|
1685
1893
|
"required": true,
|
|
1686
1894
|
"description": "OTP reference ID from the Send Transaction OTP response.",
|
|
1687
|
-
"example": "
|
|
1688
|
-
"in": "body"
|
|
1689
|
-
},
|
|
1690
|
-
{
|
|
1691
|
-
"name": "latlong",
|
|
1692
|
-
"type": "string",
|
|
1693
|
-
"required": true,
|
|
1694
|
-
"description": "GPS coordinates of the agent/merchant's device at the time of transaction (required for regulatory compliance).",
|
|
1695
|
-
"example": "28.6139,77.2090",
|
|
1895
|
+
"example": "667007109",
|
|
1696
1896
|
"in": "body"
|
|
1697
1897
|
},
|
|
1698
1898
|
{
|
|
1699
|
-
"name": "
|
|
1700
|
-
"type": "string",
|
|
1701
|
-
"required": true,
|
|
1702
|
-
"description": "Fixed value: \"1\".",
|
|
1703
|
-
"example": "1",
|
|
1704
|
-
"in": "body"
|
|
1705
|
-
},
|
|
1706
|
-
{
|
|
1707
|
-
"name": "recipient_id_type",
|
|
1899
|
+
"name": "client_ref_id",
|
|
1708
1900
|
"type": "string",
|
|
1709
1901
|
"required": true,
|
|
1710
|
-
"description": "
|
|
1711
|
-
"example": "
|
|
1712
|
-
"in": "body"
|
|
1713
|
-
},
|
|
1714
|
-
{
|
|
1715
|
-
"name": "channel",
|
|
1716
|
-
"type": "number",
|
|
1717
|
-
"required": false,
|
|
1718
|
-
"description": "Transfer channel. Fixed value: 2 (IMPS). Defaults to 2.",
|
|
1719
|
-
"example": 2,
|
|
1720
|
-
"in": "body"
|
|
1721
|
-
},
|
|
1722
|
-
{
|
|
1723
|
-
"name": "currency",
|
|
1724
|
-
"type": "string",
|
|
1725
|
-
"required": false,
|
|
1726
|
-
"description": "Currency code. Defaults to \"INR\".",
|
|
1727
|
-
"example": "INR",
|
|
1728
|
-
"in": "body"
|
|
1729
|
-
},
|
|
1730
|
-
{
|
|
1731
|
-
"name": "timestamp",
|
|
1732
|
-
"type": "string",
|
|
1733
|
-
"required": false,
|
|
1734
|
-
"description": "ISO 8601 request timestamp.",
|
|
1735
|
-
"example": "2024-01-01T10:30:00Z",
|
|
1902
|
+
"description": "Unique partner reference for this transaction (idempotency & reconciliation). Use a fresh value per attempt.",
|
|
1903
|
+
"example": "<unique_client_ref_id>",
|
|
1736
1904
|
"in": "body"
|
|
1737
1905
|
}
|
|
1738
1906
|
],
|
|
1739
1907
|
"sampleRequest": {
|
|
1740
1908
|
"initiator_id": "9962981729",
|
|
1741
|
-
"
|
|
1742
|
-
"
|
|
1743
|
-
"
|
|
1744
|
-
"
|
|
1745
|
-
"
|
|
1746
|
-
"
|
|
1747
|
-
"latlong": "28.6139,77.2090",
|
|
1748
|
-
"state": "1",
|
|
1749
|
-
"recipient_id_type": "1",
|
|
1750
|
-
"channel": 2,
|
|
1751
|
-
"currency": "INR",
|
|
1752
|
-
"timestamp": "2024-01-01T10:30:00Z"
|
|
1909
|
+
"recipient_id": 117015428,
|
|
1910
|
+
"amount": 100,
|
|
1911
|
+
"customer_id": "9155927131",
|
|
1912
|
+
"otp": "4702",
|
|
1913
|
+
"otp_ref_id": "667007109",
|
|
1914
|
+
"client_ref_id": "<unique_client_ref_id>"
|
|
1753
1915
|
},
|
|
1754
1916
|
"responseFields": [
|
|
1755
1917
|
{
|
|
@@ -1793,75 +1955,131 @@
|
|
|
1793
1955
|
"type": "object",
|
|
1794
1956
|
"description": "API-specific response payload.",
|
|
1795
1957
|
"children": [
|
|
1958
|
+
{
|
|
1959
|
+
"name": "tx_status",
|
|
1960
|
+
"type": "string",
|
|
1961
|
+
"description": "Transaction state within the data block: 0=Success, 1=Fail, 2=Awaited.",
|
|
1962
|
+
"imp": true,
|
|
1963
|
+
"example": "0"
|
|
1964
|
+
},
|
|
1965
|
+
{
|
|
1966
|
+
"name": "txstatus_desc",
|
|
1967
|
+
"type": "string",
|
|
1968
|
+
"description": "Human-readable transaction status.",
|
|
1969
|
+
"example": "Success"
|
|
1970
|
+
},
|
|
1796
1971
|
{
|
|
1797
1972
|
"name": "tid",
|
|
1798
1973
|
"type": "string",
|
|
1799
|
-
"description": "Eko's internal transaction ID.
|
|
1974
|
+
"description": "Eko's internal transaction ID. Store for reconciliation and support queries.",
|
|
1800
1975
|
"imp": true,
|
|
1801
|
-
"example": "
|
|
1976
|
+
"example": "3570311831"
|
|
1802
1977
|
},
|
|
1803
1978
|
{
|
|
1804
|
-
"name": "
|
|
1979
|
+
"name": "bank_ref_num",
|
|
1805
1980
|
"type": "string",
|
|
1806
|
-
"description": "
|
|
1981
|
+
"description": "Bank reference number (RRN / UTR) for the IMPS transaction.",
|
|
1807
1982
|
"imp": true,
|
|
1808
|
-
"example": "
|
|
1983
|
+
"example": "620415011744"
|
|
1809
1984
|
},
|
|
1810
1985
|
{
|
|
1811
1986
|
"name": "amount",
|
|
1812
|
-
"type": "
|
|
1813
|
-
"description": "Amount transferred
|
|
1987
|
+
"type": "string",
|
|
1988
|
+
"description": "Amount transferred (INR).",
|
|
1814
1989
|
"imp": true,
|
|
1815
|
-
"example":
|
|
1990
|
+
"example": "100.00"
|
|
1816
1991
|
},
|
|
1817
1992
|
{
|
|
1818
|
-
"name": "
|
|
1993
|
+
"name": "fee",
|
|
1819
1994
|
"type": "string",
|
|
1820
|
-
"description": "
|
|
1821
|
-
"
|
|
1822
|
-
"example": "Sunil Sharma"
|
|
1995
|
+
"description": "Fee charged for the transfer (INR).",
|
|
1996
|
+
"example": "10.0"
|
|
1823
1997
|
},
|
|
1824
1998
|
{
|
|
1825
|
-
"name": "
|
|
1999
|
+
"name": "collectable_amount",
|
|
1826
2000
|
"type": "string",
|
|
1827
|
-
"description": "
|
|
1828
|
-
"example": "
|
|
2001
|
+
"description": "Total collectable from the sender (amount + fee).",
|
|
2002
|
+
"example": "110.0"
|
|
1829
2003
|
},
|
|
1830
2004
|
{
|
|
1831
|
-
"name": "
|
|
2005
|
+
"name": "service_tax",
|
|
1832
2006
|
"type": "string",
|
|
1833
|
-
"description": "
|
|
1834
|
-
"example": "
|
|
2007
|
+
"description": "Service tax component on the fee (INR).",
|
|
2008
|
+
"example": "1.53"
|
|
1835
2009
|
},
|
|
1836
2010
|
{
|
|
1837
|
-
"name": "
|
|
1838
|
-
"type": "
|
|
1839
|
-
"description": "
|
|
1840
|
-
"example":
|
|
2011
|
+
"name": "tds",
|
|
2012
|
+
"type": "string",
|
|
2013
|
+
"description": "Tax deducted at source on the agent's commission (INR).",
|
|
2014
|
+
"example": "0.01"
|
|
1841
2015
|
},
|
|
1842
2016
|
{
|
|
1843
2017
|
"name": "commission",
|
|
2018
|
+
"type": "string",
|
|
2019
|
+
"description": "Commission earned by the agent on this transaction (INR).",
|
|
2020
|
+
"example": "0.47"
|
|
2021
|
+
},
|
|
2022
|
+
{
|
|
2023
|
+
"name": "sender_name",
|
|
2024
|
+
"type": "string",
|
|
2025
|
+
"description": "Name of the sender.",
|
|
2026
|
+
"example": "Rahul"
|
|
2027
|
+
},
|
|
2028
|
+
{
|
|
2029
|
+
"name": "recipient_name",
|
|
2030
|
+
"type": "string",
|
|
2031
|
+
"description": "Name of the beneficiary credited.",
|
|
2032
|
+
"imp": true,
|
|
2033
|
+
"example": "Master YASHWANT BASNETT"
|
|
2034
|
+
},
|
|
2035
|
+
{
|
|
2036
|
+
"name": "recipient_id",
|
|
1844
2037
|
"type": "number",
|
|
1845
|
-
"description": "
|
|
1846
|
-
"example":
|
|
2038
|
+
"description": "Recipient identifier credited.",
|
|
2039
|
+
"example": 117015428
|
|
2040
|
+
},
|
|
2041
|
+
{
|
|
2042
|
+
"name": "bank",
|
|
2043
|
+
"type": "string",
|
|
2044
|
+
"description": "Beneficiary bank name.",
|
|
2045
|
+
"example": "State Bank of India"
|
|
2046
|
+
},
|
|
2047
|
+
{
|
|
2048
|
+
"name": "account",
|
|
2049
|
+
"type": "string",
|
|
2050
|
+
"description": "Beneficiary account number credited.",
|
|
2051
|
+
"example": "38759149196"
|
|
2052
|
+
},
|
|
2053
|
+
{
|
|
2054
|
+
"name": "channel_desc",
|
|
2055
|
+
"type": "string",
|
|
2056
|
+
"description": "Settlement channel used (e.g. IMPS).",
|
|
2057
|
+
"example": "IMPS"
|
|
1847
2058
|
},
|
|
1848
2059
|
{
|
|
1849
2060
|
"name": "balance",
|
|
1850
|
-
"type": "
|
|
1851
|
-
"description": "
|
|
1852
|
-
"
|
|
2061
|
+
"type": "string",
|
|
2062
|
+
"description": "Agent wallet balance after the transaction (INR).",
|
|
2063
|
+
"imp": true,
|
|
2064
|
+
"example": "10131.18"
|
|
1853
2065
|
},
|
|
1854
2066
|
{
|
|
1855
2067
|
"name": "client_ref_id",
|
|
1856
2068
|
"type": "string",
|
|
1857
|
-
"description": "
|
|
1858
|
-
"example": "
|
|
2069
|
+
"description": "Echo of the partner reference sent in the request.",
|
|
2070
|
+
"example": "<unique_client_ref_id>"
|
|
2071
|
+
},
|
|
2072
|
+
{
|
|
2073
|
+
"name": "currency",
|
|
2074
|
+
"type": "string",
|
|
2075
|
+
"description": "Currency code.",
|
|
2076
|
+
"example": "INR"
|
|
1859
2077
|
},
|
|
1860
2078
|
{
|
|
1861
2079
|
"name": "timestamp",
|
|
1862
2080
|
"type": "string",
|
|
1863
2081
|
"description": "Server-side timestamp of the transaction.",
|
|
1864
|
-
"example": "
|
|
2082
|
+
"example": "2026-07-23T09:46:35.396Z"
|
|
1865
2083
|
}
|
|
1866
2084
|
]
|
|
1867
2085
|
}
|
|
@@ -1870,80 +2088,115 @@
|
|
|
1870
2088
|
"status": 0,
|
|
1871
2089
|
"response_status_id": 0,
|
|
1872
2090
|
"message": "Transaction successful",
|
|
1873
|
-
"
|
|
1874
|
-
"txstatus_desc": "Success",
|
|
2091
|
+
"response_type_id": 325,
|
|
1875
2092
|
"data": {
|
|
1876
|
-
"tid": "2309876543",
|
|
1877
|
-
"utrnumber": "412345678901",
|
|
1878
|
-
"amount": 500,
|
|
1879
2093
|
"tx_status": "0",
|
|
1880
|
-
"
|
|
1881
|
-
"
|
|
1882
|
-
"
|
|
1883
|
-
"fee":
|
|
1884
|
-
"
|
|
1885
|
-
"
|
|
1886
|
-
"
|
|
1887
|
-
"
|
|
2094
|
+
"txstatus_desc": "Success",
|
|
2095
|
+
"tid": "3570311831",
|
|
2096
|
+
"amount": "100.00",
|
|
2097
|
+
"fee": "10.0",
|
|
2098
|
+
"collectable_amount": "110.0",
|
|
2099
|
+
"service_tax": "1.53",
|
|
2100
|
+
"tds": "0.01",
|
|
2101
|
+
"commission": "0.47",
|
|
2102
|
+
"sender_name": "Rahul",
|
|
2103
|
+
"recipient_name": "Master YASHWANT BASNETT",
|
|
2104
|
+
"recipient_id": 117015428,
|
|
2105
|
+
"bank": "State Bank of India",
|
|
2106
|
+
"account": "38759149196",
|
|
2107
|
+
"channel_desc": "IMPS",
|
|
2108
|
+
"bank_ref_num": "620415011744",
|
|
2109
|
+
"balance": "10131.18",
|
|
2110
|
+
"client_ref_id": "<unique_client_ref_id>",
|
|
2111
|
+
"currency": "INR",
|
|
2112
|
+
"timestamp": "2026-07-23T09:46:35.396Z"
|
|
1888
2113
|
}
|
|
1889
2114
|
},
|
|
1890
2115
|
"errorScenarios": [
|
|
1891
2116
|
{
|
|
1892
|
-
"scenario": "
|
|
2117
|
+
"scenario": "Transaction declined — OTP already consumed",
|
|
1893
2118
|
"statusCode": 200,
|
|
1894
2119
|
"example": {
|
|
1895
|
-
"status":
|
|
1896
|
-
"response_status_id":
|
|
1897
|
-
"message": "
|
|
1898
|
-
"
|
|
1899
|
-
"
|
|
1900
|
-
|
|
2120
|
+
"status": 55,
|
|
2121
|
+
"response_status_id": 1,
|
|
2122
|
+
"message": "Transaction declined. Please try after sometime.",
|
|
2123
|
+
"response_type_id": 55,
|
|
2124
|
+
"data": {
|
|
2125
|
+
"tx_status": "1",
|
|
2126
|
+
"txstatus_desc": "Failed",
|
|
2127
|
+
"reason": "OTP already Consumed",
|
|
2128
|
+
"amount": "100.00",
|
|
2129
|
+
"tid": "3570311840",
|
|
2130
|
+
"client_ref_id": "<unique_client_ref_id>",
|
|
2131
|
+
"balance": "10021.64"
|
|
2132
|
+
}
|
|
1901
2133
|
}
|
|
1902
2134
|
},
|
|
1903
2135
|
{
|
|
1904
|
-
"scenario": "Transaction
|
|
2136
|
+
"scenario": "Transaction declined — insufficient balance in agent wallet",
|
|
1905
2137
|
"statusCode": 200,
|
|
1906
2138
|
"example": {
|
|
1907
|
-
"status":
|
|
1908
|
-
"response_status_id":
|
|
1909
|
-
"message": "Transaction
|
|
1910
|
-
"
|
|
1911
|
-
"txstatus_desc": "Awaited",
|
|
2139
|
+
"status": 55,
|
|
2140
|
+
"response_status_id": 1,
|
|
2141
|
+
"message": "Transaction declined. Please try after sometime.",
|
|
2142
|
+
"response_type_id": 55,
|
|
1912
2143
|
"data": {
|
|
1913
|
-
"
|
|
1914
|
-
"
|
|
2144
|
+
"tx_status": "1",
|
|
2145
|
+
"txstatus_desc": "Failed",
|
|
2146
|
+
"reason": "Insufficient balance"
|
|
1915
2147
|
}
|
|
1916
2148
|
}
|
|
1917
2149
|
},
|
|
1918
2150
|
{
|
|
1919
|
-
"scenario": "
|
|
2151
|
+
"scenario": "Transaction declined — wrong OTP entered",
|
|
1920
2152
|
"statusCode": 200,
|
|
1921
2153
|
"example": {
|
|
1922
|
-
"status":
|
|
1923
|
-
"response_status_id":
|
|
1924
|
-
"message": "
|
|
1925
|
-
"
|
|
1926
|
-
"
|
|
1927
|
-
|
|
2154
|
+
"status": 55,
|
|
2155
|
+
"response_status_id": 1,
|
|
2156
|
+
"message": "Transaction declined. Please try after sometime.",
|
|
2157
|
+
"response_type_id": 55,
|
|
2158
|
+
"data": {
|
|
2159
|
+
"tx_status": "1",
|
|
2160
|
+
"txstatus_desc": "Failed",
|
|
2161
|
+
"reason": "Wrong OTP"
|
|
2162
|
+
}
|
|
1928
2163
|
}
|
|
1929
2164
|
},
|
|
1930
2165
|
{
|
|
1931
|
-
"scenario": "
|
|
2166
|
+
"scenario": "Transaction declined — sender monthly limit exhausted",
|
|
1932
2167
|
"statusCode": 200,
|
|
1933
2168
|
"example": {
|
|
1934
|
-
"status":
|
|
1935
|
-
"response_status_id":
|
|
1936
|
-
"message": "
|
|
1937
|
-
"
|
|
1938
|
-
"
|
|
1939
|
-
|
|
2169
|
+
"status": 55,
|
|
2170
|
+
"response_status_id": 1,
|
|
2171
|
+
"message": "Transaction declined. Please try after sometime.",
|
|
2172
|
+
"response_type_id": 55,
|
|
2173
|
+
"data": {
|
|
2174
|
+
"tx_status": "1",
|
|
2175
|
+
"txstatus_desc": "Failed",
|
|
2176
|
+
"reason": "Sender/beneficiary monthly limit exhausted"
|
|
2177
|
+
}
|
|
2178
|
+
}
|
|
2179
|
+
},
|
|
2180
|
+
{
|
|
2181
|
+
"scenario": "Transaction awaited (non-final) — reconcile by tid before retrying",
|
|
2182
|
+
"statusCode": 200,
|
|
2183
|
+
"example": {
|
|
2184
|
+
"status": 0,
|
|
2185
|
+
"response_status_id": 0,
|
|
2186
|
+
"message": "Transaction in progress",
|
|
2187
|
+
"data": {
|
|
2188
|
+
"tx_status": "2",
|
|
2189
|
+
"txstatus_desc": "Awaited",
|
|
2190
|
+
"tid": "3570311831",
|
|
2191
|
+
"amount": "100.00"
|
|
2192
|
+
}
|
|
1940
2193
|
}
|
|
1941
2194
|
}
|
|
1942
2195
|
],
|
|
1943
2196
|
"responseTypes": []
|
|
1944
2197
|
},
|
|
1945
2198
|
{
|
|
1946
|
-
"slug": "aeps-
|
|
2199
|
+
"slug": "activate-aeps-fingpay",
|
|
1947
2200
|
"productId": "aeps",
|
|
1948
2201
|
"productName": "AePS Cashout",
|
|
1949
2202
|
"name": "Activate AePS Fingpay for Agent",
|
|
@@ -1954,7 +2207,7 @@
|
|
|
1954
2207
|
"relevance": "M",
|
|
1955
2208
|
"description": "This API enables an agent (identified by their `user_code`) to use the AePS Fingpay service. It accepts the agent's biometric device model, serial number, address proofs, and KYC documents (PAN card, Aadhaar front and back) as a multipart form submission. After submission, the activation enters a 'pending' state and is approved within 2–3 business days. Only activated agents can perform AePS transactions. File uploads must be JPEG/JPG/PDF format, each under 1 MB; PNG is not accepted.\n\n> [!NOTE]\n> This API must be called after onboarding your agent using the [**Onboard User API**](/docs/onboard-user).\n\n> [!WARNING]\n> The approval may take 1-2 business days.",
|
|
1956
2209
|
"bestFor": "Platforms onboarding BC agents and CSPs to offer AePS services for the first time",
|
|
1957
|
-
"docsUrl": "https://eps.eko.in/docs/aeps-
|
|
2210
|
+
"docsUrl": "https://eps.eko.in/docs/activate-aeps-fingpay",
|
|
1958
2211
|
"headers": [
|
|
1959
2212
|
{
|
|
1960
2213
|
"name": "developer_key",
|
|
@@ -2383,7 +2636,7 @@
|
|
|
2383
2636
|
{
|
|
2384
2637
|
"id": 2110,
|
|
2385
2638
|
"meaning": "Shop-type list returned successfully",
|
|
2386
|
-
"next": "aeps-
|
|
2639
|
+
"next": "activate-aeps-fingpay"
|
|
2387
2640
|
}
|
|
2388
2641
|
]
|
|
2389
2642
|
},
|
|
@@ -2557,12 +2810,12 @@
|
|
|
2557
2810
|
{
|
|
2558
2811
|
"id": 2127,
|
|
2559
2812
|
"meaning": "State list returned successfully",
|
|
2560
|
-
"next": "aeps-
|
|
2813
|
+
"next": "activate-aeps-fingpay"
|
|
2561
2814
|
}
|
|
2562
2815
|
]
|
|
2563
2816
|
},
|
|
2564
2817
|
{
|
|
2565
|
-
"slug": "aeps-send-otp-kyc",
|
|
2818
|
+
"slug": "aeps-fingpay-send-otp-kyc",
|
|
2566
2819
|
"productId": "aeps",
|
|
2567
2820
|
"productName": "AePS Cashout",
|
|
2568
2821
|
"name": "Send OTP (eKYC)",
|
|
@@ -2573,7 +2826,7 @@
|
|
|
2573
2826
|
"relevance": "M",
|
|
2574
2827
|
"description": "First-time KYC follows three steps in order: `Send OTP` → `Verify OTP` → `Biometric`. On subsequent days, use the Daily KYC (biometric-only) endpoint.\n\nThis is the first step in the one-time AePS Fingpay eKYC flow. The OTP is delivered to the number passed in `customer_id`. The eKYC flow — Send OTP → Verify OTP → Biometric — must be completed once per agent before they can perform any AePS transactions. This step is a prerequisite; do not confuse it with the Daily KYC which is required on each calendar day.",
|
|
2575
2828
|
"bestFor": "Initial one-time KYC setup for newly activated AePS Fingpay agents",
|
|
2576
|
-
"docsUrl": "https://eps.eko.in/docs/aeps-send-otp-kyc",
|
|
2829
|
+
"docsUrl": "https://eps.eko.in/docs/aeps-fingpay-send-otp-kyc",
|
|
2577
2830
|
"headers": [
|
|
2578
2831
|
{
|
|
2579
2832
|
"name": "developer_key",
|
|
@@ -2749,12 +3002,12 @@
|
|
|
2749
3002
|
{
|
|
2750
3003
|
"id": 1600,
|
|
2751
3004
|
"meaning": "OTP request has been sent",
|
|
2752
|
-
"next": "aeps-verify-otp-kyc"
|
|
3005
|
+
"next": "aeps-fingpay-verify-otp-kyc"
|
|
2753
3006
|
}
|
|
2754
3007
|
]
|
|
2755
3008
|
},
|
|
2756
3009
|
{
|
|
2757
|
-
"slug": "aeps-verify-otp-kyc",
|
|
3010
|
+
"slug": "aeps-fingpay-verify-otp-kyc",
|
|
2758
3011
|
"productId": "aeps",
|
|
2759
3012
|
"productName": "AePS Cashout",
|
|
2760
3013
|
"name": "Verify OTP (eKYC)",
|
|
@@ -2765,7 +3018,7 @@
|
|
|
2765
3018
|
"relevance": "M",
|
|
2766
3019
|
"description": "The second step of the one-time AePS Fingpay eKYC flow (Send OTP → Verify OTP → Biometric). Submits the OTP the agent received, together with the `otp_ref_id` and `reference_tid` returned by the Send OTP API, to validate the agent's identity before biometric capture. Aadhaar must be RSA-encrypted and Base64-encoded.",
|
|
2767
3020
|
"bestFor": "Completing OTP validation during initial one-time agent eKYC",
|
|
2768
|
-
"docsUrl": "https://eps.eko.in/docs/aeps-verify-otp-kyc",
|
|
3021
|
+
"docsUrl": "https://eps.eko.in/docs/aeps-fingpay-verify-otp-kyc",
|
|
2769
3022
|
"headers": [
|
|
2770
3023
|
{
|
|
2771
3024
|
"name": "developer_key",
|
|
@@ -2959,12 +3212,12 @@
|
|
|
2959
3212
|
{
|
|
2960
3213
|
"id": 1604,
|
|
2961
3214
|
"meaning": "Validation successful",
|
|
2962
|
-
"next": "aeps-biometric-ekyc"
|
|
3215
|
+
"next": "aeps-fingpay-biometric-ekyc"
|
|
2963
3216
|
}
|
|
2964
3217
|
]
|
|
2965
3218
|
},
|
|
2966
3219
|
{
|
|
2967
|
-
"slug": "aeps-biometric-ekyc",
|
|
3220
|
+
"slug": "aeps-fingpay-biometric-ekyc",
|
|
2968
3221
|
"productId": "aeps",
|
|
2969
3222
|
"productName": "AePS Cashout",
|
|
2970
3223
|
"name": "Biometric eKYC",
|
|
@@ -2973,9 +3226,9 @@
|
|
|
2973
3226
|
"summary": "Complete one-time AePS Fingpay eKYC by submitting the agent's Aadhaar and live biometric fingerprint capture.",
|
|
2974
3227
|
"category": "bc",
|
|
2975
3228
|
"relevance": "M",
|
|
2976
|
-
"description": "The final step in the one-time AePS Fingpay eKYC flow, called after OTP verification. Submits the agent's RSA-encrypted Aadhaar and live biometric PID to UIDAI; on success the agent is eligible for AePS transactions.\n\nIf you generate the PID block with your own code rather than the RD service default, set `wadh=E0jzJ/P8UopUHAieZn8CKqS4WPMi5ZSYXgfnlfkWjrc=` alongside `fCount`, `fType` and the other attributes.",
|
|
3229
|
+
"description": "The final step in the one-time AePS Fingpay eKYC flow, called after OTP verification. Submits the agent's RSA-encrypted Aadhaar and live biometric PID to UIDAI; on success the agent is eligible for AePS transactions.\n\nIf you generate the PID block with your own code rather than the RD service default, set `wadh=E0jzJ/P8UopUHAieZn8CKqS4WPMi5ZSYXgfnlfkWjrc=` alongside `fCount`, `fType` and the other attributes.\n\nTo capture the `piddata` PID block with an RDService-compliant fingerprint scanner, see the [Aadhaar Biometric Authentication guide](/docs/aadhaar-biometric-rdservice).",
|
|
2977
3230
|
"bestFor": "Completing the mandatory one-time biometric identity verification for AePS Fingpay agents",
|
|
2978
|
-
"docsUrl": "https://eps.eko.in/docs/aeps-biometric-ekyc",
|
|
3231
|
+
"docsUrl": "https://eps.eko.in/docs/aeps-fingpay-biometric-ekyc",
|
|
2979
3232
|
"headers": [
|
|
2980
3233
|
{
|
|
2981
3234
|
"name": "developer_key",
|
|
@@ -3170,12 +3423,12 @@
|
|
|
3170
3423
|
{
|
|
3171
3424
|
"id": 1605,
|
|
3172
3425
|
"meaning": "eKYC successful — agent may now complete Daily KYC",
|
|
3173
|
-
"next": "aeps-daily-auth"
|
|
3426
|
+
"next": "aeps-fingpay-daily-auth"
|
|
3174
3427
|
}
|
|
3175
3428
|
]
|
|
3176
3429
|
},
|
|
3177
3430
|
{
|
|
3178
|
-
"slug": "aeps-daily-auth",
|
|
3431
|
+
"slug": "aeps-fingpay-daily-auth",
|
|
3179
3432
|
"productId": "aeps",
|
|
3180
3433
|
"productName": "AePS Cashout",
|
|
3181
3434
|
"name": "Daily KYC",
|
|
@@ -3184,9 +3437,9 @@
|
|
|
3184
3437
|
"summary": "Perform the mandatory daily biometric re-verification that authorises an agent to carry out AePS transactions for the current calendar day.",
|
|
3185
3438
|
"category": "bc",
|
|
3186
3439
|
"relevance": "H",
|
|
3187
|
-
"description": "Biometric-only re-verification for the days after the one-time eKYC — no OTP step is required. AePS Fingpay requires every agent to re-authenticate themselves biometrically at the start of each working day, before their first transaction of the day.\n\nIf this fails with reason `Please complete bank eKYC to process the transaction.`, re-run the full first-time eKYC sequence — Send OTP → Verify OTP → Biometric — before retrying.",
|
|
3440
|
+
"description": "Biometric-only re-verification for the days after the one-time eKYC — no OTP step is required. AePS Fingpay requires every agent to re-authenticate themselves biometrically at the start of each working day, before their first transaction of the day.\n\nIf this fails with reason `Please complete bank eKYC to process the transaction.`, re-run the full first-time eKYC sequence — Send OTP → Verify OTP → Biometric — before retrying.\n\nTo capture the `piddata` PID block with an RDService-compliant fingerprint scanner, see the [Aadhaar Biometric Authentication guide](/docs/aadhaar-biometric-rdservice).",
|
|
3188
3441
|
"bestFor": "Agent-side automation to trigger the daily biometric KYC at session start before serving AePS customers",
|
|
3189
|
-
"docsUrl": "https://eps.eko.in/docs/aeps-daily-auth",
|
|
3442
|
+
"docsUrl": "https://eps.eko.in/docs/aeps-fingpay-daily-auth",
|
|
3190
3443
|
"headers": [
|
|
3191
3444
|
{
|
|
3192
3445
|
"name": "developer_key",
|
|
@@ -3271,7 +3524,7 @@
|
|
|
3271
3524
|
"name": "piddata",
|
|
3272
3525
|
"type": "string",
|
|
3273
3526
|
"required": true,
|
|
3274
|
-
"description": "PID XML string from the UIDAI-certified biometric device (fType=2, Data type='X', mc in DeviceInfo). This represents the agent's own fingerprint, not the customer's. If you generate the PID block yourself,
|
|
3527
|
+
"description": "PID XML string from the UIDAI-certified biometric device (fType=2, Data type='X', mc in DeviceInfo). This represents the agent's own fingerprint, not the customer's. If you generate the PID block yourself, the value of `wadh` must be blank/empty for Daily KYC.",
|
|
3275
3528
|
"example": "<?xml version='1.0'?><PidData><Data type='X'>...</Data><DeviceInfo mc='...' /></PidData>",
|
|
3276
3529
|
"in": "body"
|
|
3277
3530
|
},
|
|
@@ -3395,12 +3648,12 @@
|
|
|
3395
3648
|
{
|
|
3396
3649
|
"id": 1714,
|
|
3397
3650
|
"meaning": "Daily KYC failed — if `data.reason` is 'Please complete bank eKYC to process the transaction.', re-run the full eKYC from Send OTP",
|
|
3398
|
-
"next": "aeps-send-otp-kyc"
|
|
3651
|
+
"next": "aeps-fingpay-send-otp-kyc"
|
|
3399
3652
|
}
|
|
3400
3653
|
]
|
|
3401
3654
|
},
|
|
3402
3655
|
{
|
|
3403
|
-
"slug": "aeps-cash-withdrawal",
|
|
3656
|
+
"slug": "aeps-fingpay-cash-withdrawal",
|
|
3404
3657
|
"productId": "aeps",
|
|
3405
3658
|
"productName": "AePS Cashout",
|
|
3406
3659
|
"name": "AePS Cash Withdrawal",
|
|
@@ -3409,9 +3662,9 @@
|
|
|
3409
3662
|
"summary": "Withdraw cash from any Aadhaar-linked bank account using biometric fingerprint authentication — no card or PIN required.",
|
|
3410
3663
|
"category": "bc",
|
|
3411
3664
|
"relevance": "H",
|
|
3412
|
-
"description": "Allows a customer to withdraw cash from their bank account at an agent/BC point by providing their Aadhaar number and a live fingerprint scan. The agent's biometric device captures a PID XML blob which is passed verbatim to this API. The customer's Aadhaar is RSA-encrypted before transmission. Requires the agent to have completed AePS Fingpay activation, the one-time eKYC (Send OTP → Verify OTP → Biometric), and the Daily KYC for the current day.",
|
|
3665
|
+
"description": "Allows a customer to withdraw cash from their bank account at an agent/BC point by providing their Aadhaar number and a live fingerprint scan. The agent's biometric device captures a PID XML blob which is passed verbatim to this API. The customer's Aadhaar is RSA-encrypted before transmission. Requires the agent to have completed AePS Fingpay activation, the one-time eKYC (Send OTP → Verify OTP → Biometric), and the Daily KYC for the current day.\n\nTo capture the `piddata` PID block with an RDService-compliant fingerprint scanner, see the [Aadhaar Biometric Authentication guide](/docs/aadhaar-biometric-rdservice).",
|
|
3413
3666
|
"bestFor": "BC agents, CSPs, and kirana-store banking points enabling cardless cash withdrawal for rural customers",
|
|
3414
|
-
"docsUrl": "https://eps.eko.in/docs/aeps-cash-withdrawal",
|
|
3667
|
+
"docsUrl": "https://eps.eko.in/docs/aeps-fingpay-cash-withdrawal",
|
|
3415
3668
|
"financial": true,
|
|
3416
3669
|
"headers": [
|
|
3417
3670
|
{
|
|
@@ -3874,7 +4127,7 @@
|
|
|
3874
4127
|
]
|
|
3875
4128
|
},
|
|
3876
4129
|
{
|
|
3877
|
-
"slug": "aeps-balance-enquiry",
|
|
4130
|
+
"slug": "aeps-fingpay-balance-enquiry",
|
|
3878
4131
|
"productId": "aeps",
|
|
3879
4132
|
"productName": "AePS Cashout",
|
|
3880
4133
|
"name": "AePS Balance Enquiry",
|
|
@@ -3883,9 +4136,9 @@
|
|
|
3883
4136
|
"summary": "Check a customer's bank account balance using Aadhaar number and biometric fingerprint — no card or PIN required.",
|
|
3884
4137
|
"category": "bc",
|
|
3885
4138
|
"relevance": "L",
|
|
3886
|
-
"description": "Retrieves the real-time account balance from any Aadhaar-linked bank. Uses the dedicated `balance-enquiry` endpoint — the request shape matches Cash Withdrawal without the `amount` field. No money movement occurs and no debit takes place. The agent must have completed AePS Fingpay activation and the current-day daily authentication before calling this API.",
|
|
4139
|
+
"description": "Retrieves the real-time account balance from any Aadhaar-linked bank. Uses the dedicated `balance-enquiry` endpoint — the request shape matches Cash Withdrawal without the `amount` field. No money movement occurs and no debit takes place. The agent must have completed AePS Fingpay activation and the current-day daily authentication before calling this API.\n\nTo capture the `piddata` PID block with an RDService-compliant fingerprint scanner, see the [Aadhaar Biometric Authentication guide](/docs/aadhaar-biometric-rdservice).",
|
|
3887
4140
|
"bestFor": "Agent-assisted balance checks for rural customers without smartphone or internet access",
|
|
3888
|
-
"docsUrl": "https://eps.eko.in/docs/aeps-balance-enquiry",
|
|
4141
|
+
"docsUrl": "https://eps.eko.in/docs/aeps-fingpay-balance-enquiry",
|
|
3889
4142
|
"financial": true,
|
|
3890
4143
|
"headers": [
|
|
3891
4144
|
{
|
|
@@ -4224,7 +4477,7 @@
|
|
|
4224
4477
|
]
|
|
4225
4478
|
},
|
|
4226
4479
|
{
|
|
4227
|
-
"slug": "aeps-mini-statement",
|
|
4480
|
+
"slug": "aeps-fingpay-mini-statement",
|
|
4228
4481
|
"productId": "aeps",
|
|
4229
4482
|
"productName": "AePS Cashout",
|
|
4230
4483
|
"name": "AePS Mini Statement",
|
|
@@ -4233,9 +4486,9 @@
|
|
|
4233
4486
|
"summary": "Retrieve the last few transactions from an Aadhaar-linked bank account via biometric authentication.",
|
|
4234
4487
|
"category": "bc",
|
|
4235
4488
|
"relevance": "L",
|
|
4236
|
-
"description": "Fetches a mini statement (typically the last 5–10 transactions) from a customer's bank account by authenticating through Aadhaar biometrics. Uses the dedicated `mini-statement` endpoint — the request shape matches Balance Enquiry (no `amount`). No money movement occurs. The response includes a list of recent debit/credit transactions with amounts and dates. Useful for customers who want to verify recent activity at an agent point without visiting a branch.",
|
|
4489
|
+
"description": "Fetches a mini statement (typically the last 5–10 transactions) from a customer's bank account by authenticating through Aadhaar biometrics. Uses the dedicated `mini-statement` endpoint — the request shape matches Balance Enquiry (no `amount`). No money movement occurs. The response includes a list of recent debit/credit transactions with amounts and dates. Useful for customers who want to verify recent activity at an agent point without visiting a branch.\n\nTo capture the `piddata` PID block with an RDService-compliant fingerprint scanner, see the [Aadhaar Biometric Authentication guide](/docs/aadhaar-biometric-rdservice).",
|
|
4237
4490
|
"bestFor": "BC agents providing passbook-equivalent transaction history to Aadhaar-linked account holders",
|
|
4238
|
-
"docsUrl": "https://eps.eko.in/docs/aeps-mini-statement",
|
|
4491
|
+
"docsUrl": "https://eps.eko.in/docs/aeps-fingpay-mini-statement",
|
|
4239
4492
|
"financial": true,
|
|
4240
4493
|
"headers": [
|
|
4241
4494
|
{
|
|
@@ -6523,7 +6776,7 @@
|
|
|
6523
6776
|
"summary": "Check the current status of a BBPS bill payment by Eko TID or your client reference ID.",
|
|
6524
6777
|
"category": "payment",
|
|
6525
6778
|
"relevance": "M",
|
|
6526
|
-
"description": "
|
|
6779
|
+
"description": "Get the current status of a transaction using either Eko's TID or your own\n`client_ref_id`. This is a generic inquiry endpoint — it works for all Eko\nfinancial transaction types (fund transfer, BBPS, AePS settlement, NEFT, and\nmore).\n\nThe transaction reference goes in the URL path. Pass an Eko **TID as-is**; to\nlook up by your **`client_ref_id`, prefix it** with `client_ref_id:`:\n- By TID — `/tools/reference/transaction/<TID>`\n- By client_ref_id — `/tools/reference/transaction/client_ref_id:<your client_ref_id>`\n\n> [!NOTE]\n> **Examples**\n>\n> To check the status of a transaction using TID `2886601782`, call\n> `/tools/reference/transaction/2886601782`.\n>\n> If you never received Eko's TID (say, due to a network timeout) but sent your\n> own unique reference `567890`, look it up with\n> `/tools/reference/transaction/client_ref_id:567890`.\n\n> [!WARNING]\n> **Transaction timeout**\n>\n> A transaction can time out for many reasons — a slow partner-bank response, or\n> network connectivity causing a delayed or missing response.\n>\n> In such cases the transaction must **not** be treated as declined or failed.\n> Inquire about its real status using this API with your own `client_ref_id`,\n> instead of retrying the payment.\n\n## `tx_status` values\n\n| `tx_status` | Description |\n|---|---|\n| 0 | Success |\n| 1 | Fail |\n| 2 | Response Awaited / Initiated (in case of NEFT) |\n| 3 | Refund Pending |\n| 4 | Refunded |\n| 5 | Hold (Transaction Inquiry required) |",
|
|
6527
6780
|
"bestFor": "Reconciling pending transactions and confirming payment outcomes when the Pay Bill response is awaited.",
|
|
6528
6781
|
"docsUrl": "https://eps.eko.in/docs/bbps-transaction-status",
|
|
6529
6782
|
"headers": [
|
|
@@ -6578,7 +6831,7 @@
|
|
|
6578
6831
|
"name": "transaction-reference",
|
|
6579
6832
|
"type": "string",
|
|
6580
6833
|
"required": true,
|
|
6581
|
-
"description": "Eko TID
|
|
6834
|
+
"description": "Eko TID or your `client_ref_id` that identifies the transaction. Pass a TID as-is; to look up by `client_ref_id`, prefix it — e.g. `client_ref_id:567890`.",
|
|
6582
6835
|
"example": "1734567890",
|
|
6583
6836
|
"in": "path"
|
|
6584
6837
|
}
|
|
@@ -13726,7 +13979,7 @@
|
|
|
13726
13979
|
"summary": "Activate a specific service (by service code) for one of your agents/retailers.",
|
|
13727
13980
|
"category": "util",
|
|
13728
13981
|
"relevance": "M",
|
|
13729
|
-
"description": "Enables a service for the given agent so they can begin transacting on it. The
|
|
13982
|
+
"description": "Enables a service for the given user (agent/retailer/distributor) so they can begin transacting on it. Activating a service is mandatory before your users can use it in production. The user is identified by their `user_code` and the service by its `service_code`, both supplied as path parameters. Look up service codes via the Get All Services API. After activation, confirm the status with the Get User's Services API.",
|
|
13730
13983
|
"bestFor": "Enabling a new service on an existing agent before their first transaction on it",
|
|
13731
13984
|
"docsUrl": "https://eps.eko.in/docs/activate-user-service",
|
|
13732
13985
|
"headers": [
|
|
@@ -14527,7 +14780,7 @@
|
|
|
14527
14780
|
"name": "transaction-reference",
|
|
14528
14781
|
"type": "string",
|
|
14529
14782
|
"required": true,
|
|
14530
|
-
"description": "Eko TID or your client_ref_id
|
|
14783
|
+
"description": "Eko TID or your `client_ref_id` that identifies the transaction. Pass a TID as-is; to look up by `client_ref_id`, prefix it — e.g. `client_ref_id:567890`.",
|
|
14531
14784
|
"example": "12971397",
|
|
14532
14785
|
"in": "path"
|
|
14533
14786
|
}
|
|
@@ -22794,10 +23047,10 @@
|
|
|
22794
23047
|
],
|
|
22795
23048
|
"recipes": [
|
|
22796
23049
|
{
|
|
22797
|
-
"id": "dmt-send-money",
|
|
22798
|
-
"slug": "dmt-send-money",
|
|
22799
|
-
"name": "DMT — Send Money",
|
|
22800
|
-
"summary": "Full
|
|
23050
|
+
"id": "dmt-fino-send-money",
|
|
23051
|
+
"slug": "dmt-fino-send-money",
|
|
23052
|
+
"name": "DMT (Fino) — Send Money",
|
|
23053
|
+
"summary": "Full Fino DMT money-transfer flow: look up the sender, onboard them if new, add the recipient, then send an OTP-verified transfer.",
|
|
22801
23054
|
"productId": "dmt",
|
|
22802
23055
|
"steps": [
|
|
22803
23056
|
{
|
|
@@ -22836,39 +23089,39 @@
|
|
|
22836
23089
|
]
|
|
22837
23090
|
},
|
|
22838
23091
|
{
|
|
22839
|
-
"id": "aeps-cash-withdrawal",
|
|
22840
|
-
"slug": "aeps-cash-withdrawal",
|
|
22841
|
-
"name": "AePS — Cash Withdrawal",
|
|
23092
|
+
"id": "aeps-fingpay-cash-withdrawal",
|
|
23093
|
+
"slug": "aeps-fingpay-cash-withdrawal",
|
|
23094
|
+
"name": "AePS (Fingpay) — Cash Withdrawal",
|
|
22842
23095
|
"summary": "Aadhaar-enabled cash withdrawal: one-time agent activation and eKYC, daily KYC, then the biometric withdrawal.",
|
|
22843
23096
|
"productId": "aeps",
|
|
22844
23097
|
"steps": [
|
|
22845
23098
|
{
|
|
22846
|
-
"specSlug": "aeps-
|
|
23099
|
+
"specSlug": "activate-aeps-fingpay",
|
|
22847
23100
|
"purpose": "One-time activation of AePS Fingpay for the agent.",
|
|
22848
23101
|
"frequency": "once"
|
|
22849
23102
|
},
|
|
22850
23103
|
{
|
|
22851
|
-
"specSlug": "aeps-send-otp-kyc",
|
|
23104
|
+
"specSlug": "aeps-fingpay-send-otp-kyc",
|
|
22852
23105
|
"purpose": "One-time eKYC step 1 (agent onboarding, not per transaction): OTP to the agent's Aadhaar-linked mobile.",
|
|
22853
23106
|
"frequency": "once"
|
|
22854
23107
|
},
|
|
22855
23108
|
{
|
|
22856
|
-
"specSlug": "aeps-verify-otp-kyc",
|
|
23109
|
+
"specSlug": "aeps-fingpay-verify-otp-kyc",
|
|
22857
23110
|
"purpose": "One-time eKYC step 2 (agent onboarding): verify the OTP with the otp_ref_id and reference_tid from step 1.",
|
|
22858
23111
|
"frequency": "once"
|
|
22859
23112
|
},
|
|
22860
23113
|
{
|
|
22861
|
-
"specSlug": "aeps-biometric-ekyc",
|
|
23114
|
+
"specSlug": "aeps-fingpay-biometric-ekyc",
|
|
22862
23115
|
"purpose": "One-time eKYC step 3 (agent onboarding): the agent's biometric PID completes eKYC.",
|
|
22863
23116
|
"frequency": "once"
|
|
22864
23117
|
},
|
|
22865
23118
|
{
|
|
22866
|
-
"specSlug": "aeps-daily-auth",
|
|
23119
|
+
"specSlug": "aeps-fingpay-daily-auth",
|
|
22867
23120
|
"purpose": "Daily KYC — biometric-only, repeated once per calendar day before the agent's first transaction.",
|
|
22868
23121
|
"frequency": "daily"
|
|
22869
23122
|
},
|
|
22870
23123
|
{
|
|
22871
|
-
"specSlug": "aeps-cash-withdrawal",
|
|
23124
|
+
"specSlug": "aeps-fingpay-cash-withdrawal",
|
|
22872
23125
|
"purpose": "Perform the biometric Aadhaar-enabled cash withdrawal.",
|
|
22873
23126
|
"branches": [
|
|
22874
23127
|
{
|