P2G Variation 2 Use Cases
Web Sequence Diagram Code
title P2G Payment Variation 2 (Push Payments)
actor Payer
participant Payer FI
participant PaymentsBB
participant Bill Aggregator BA_n
participant GovtEntity
GovtEntity--> PaymentsBB: 1. Req_to_Pay (Push Notification)
PaymentsBB-->Payer FI:2. Generate RTP_Req \n(Invoice #,Amount, Biller name)
Payer FI --> Payer:3. RTP_Req(Invoice#, Amount, BillerName)
GovtEntity-->Bill Aggregator BA_n: 4. Sends Payer Bill Invoice
Payer->Payer FI: 5. Confirms and Pay Bill_Req (Bill ID & Details)
Payer FI->PaymentsBB:6. Bill Details_Req (Amount Fetch)
PaymentsBB->Bill Aggregator BA_n:7. Bill Details_Req (Amount Fetch)
note over Payer FI: Apply Payment \nValidation Checks e.g: \n 1. Already paid \n 2. Expiry Check
Payer FI->Payer FI: Debits Payer A/C
note right of Payer FI: Logs Txn Success_Ref ID
Payer FI -> Payer: 8. Pay Bill_Resp (Bill ID & Status)
Payer FI->PaymentsBB: 9. Notifies Bill payment Success
PaymentsBB --> PaymentsBB: i. Generates Txn Ref \nii. Marks Bill as Paid
PaymentsBB ->Bill Aggregator BA_n:10. Notify Bill Payment_Success (Ref ID)
Bill Aggregator BA_n->GovtEntity:11. Notify Bill Payment_Success(Ref ID)
loop RecurringPayment
GovtEntity--> PaymentsBB: 1. Req_to_Pay (Push Notification)
Payer->Payer FI: 2. Pay Bill_Req (Bill ID & Details)
note over Payer FI: Apply Payment \nValidation Checks e.g: \n 1. Already paid \n 2. Expiry Check
Payer FI->Payer FI: Debits Payer A/C
note right of Payer FI: Logs Txn Success_Ref ID
Payer FI -> Payer: 3. Pay Bill_Resp (Bill ID & Status)
Payer FI->PaymentsBB: 4. Notifies Bill payment Success
PaymentsBB --> PaymentsBB: i. Generates Txn Ref \nii. Marks Bill as Paid
PaymentsBB ->Bill Aggregator BA_n:5. Notify Bill Payment_Success (Ref ID)
Bill Aggregator BA_n->GovtEntity:6. Notify Bill Payment_Success(Ref ID)
API Specifications:
Generate_RTP_Req
Description | This is the API that is called by the Payments BB to the Payer FI. | |||||
Client | Payments BB | |||||
Server | Payer FI | |||||
Method | POST | |||||
Field | Type | M/O | Description | |||
RequestID | String (12) | M | Globally unique ID | |||
SourceBBID | String (12) | M | To identify the origination of the request. | |||
Invoice Number | Integer (10) | M | The invoice number of the bill | |||
Biller Name | String (10) | M | The biller’s name whose bill is to be paid. | |||
Sample Request Body | { "RequestID": "915251236706", "SourceBBID": "467028349179", "Invoice Number”: “1234567891” “Biller Name”: “Tax Payment”,
} | |||||
| Field | Type | M/O | Description | ||
Response Parameters | ResponseCode | String (2) | M | 00 – Success 01 – Failure | ||
ResponseDescription | String (200) | M |
| |||
RequestID | String (12) | M | Echoed from Request | |||
SourceBBID | Integer (12) | C | Echoed from Request | |||
Sample Response Body (Success) | { "ResponseCode": "00", "ResponseDescription": "Request successfully received by Payer FI”", "RequestID": "915251236706", "SourceBBID": "467028349179", } | |||||
Sample Response Body (Failure) | { "ResponseCode": "01", "ResponseDescription": "Request not acknowledged by Payer FI "RequestID": "915251236706", "SourceBBID": "467028349179", } |
1.1.1.2 Send_RTP_Req
Description | This is the API that is called by the Payer FI to send RTP request to the Payer | |||||
Client | Payer FI | |||||
Server | Payer | |||||
Method | Post | |||||
Request Parameters | Field | Type | M/O | Description | ||
RequestID | String (12) | M | Globally unique ID | |||
SourceBBID | String (12) | M | To identify the origination of the request. | |||
Invoice Number | Integer (10) | M | The invoice number of the bill | |||
Biller Name | String (10) | M | The biller’s name whose bill is to be paid. | |||
Sample Request Body | { "RequestID": "915251236706", "SourceBBID": "467028349179", "Invoice Number”: “1234567891” “Biller Name”: “Tax Payment”,
} | |||||
| Field | Type | M/O | Description | ||
Response Parameters | ResponseCode | String (2) | M | 00 – Success 01 – Failure | ||
ResponseDescription | String (200) | M |
| |||
RequestID | String (12) | M | Echoed from Request | |||
SourceBBID | Integer (12) | C | Echoed from Request | |||
Sample Response Body (Success) | { "ResponseCode": "00", "ResponseDescription": "Request successfully received by Payer", "RequestID": "915251236706", "SourceBBID": "467028349179", } | |||||
Sample Response Body (Failure) | { "ResponseCode": "01", "ResponseDescription": "Request not acknowledged by Payer "RequestID": "915251236706", "SourceBBID": "467028349179", } |
1.1.2.3 Bill_Det_Request (Amount Fetch)
Description | This is the API that is called by the Payer FI to the Payments BB | |||||
Client | Payer FI | |||||
Server | Payments BB | |||||
Method | Post | |||||
Request Parameters | Field | Type | M/O | Description | ||
RequestID | String (12) | M | Globally unique ID | |||
SourceBBID | String (12) | M | To identify the origination of the request. | |||
Bill ID | Integer (12) | M | Unique Customer ID | |||
Sample Request Body | { "RequestID": "915251236706", "SourceBBID": "467028349179", "Bill ID”: “123456789101112”, } | |||||
| Field | Type | M/O | Description | ||
Response Parameters | ResponseCode | String (2) | M | 00 – Success 01 – Failure | ||
Response Description | String (200) | M |
| |||
Request ID | String (12) | M | Echoed from Request | |||
Bill ID | Integer (12) | M | Echoed from Request | |||
Sample Response Body (Success) | { "ResponseCode": "00", "ResponseDescription”: “Request successfully received” "RequestID": "915251236706", “BillID”: “123456789101112” } | |||||
Sample Response Body (Failure) | { "ResponseCode": "01", "ResponseDescription”: “Request not acknowledged” "RequestID": "915251236706", “BillID”: “123456789101112” } |
1.1.2.4 Bill_Det_Request (Amount Fetch)
Description | This is the API that is called by the Payments BB to the Bill Aggregator for Amount Fetch. | |||||
Client | Payer | |||||
Server | Payer FI | |||||
Method | Post | |||||
Request Parameters | Field | Type | M/O | Description | ||
RequestID | String (12) | M | Globally unique ID | |||
SourceBBID | String (12) | M | To identify the origination of the request. | |||
Bill ID | Integer (12) | M | Unique Customer ID | |||
Sample Request Body | { "RequestID": "915251236706", "SourceBBID": "467028349179", "Bill ID”: “123456789101112”, } | |||||
| Field | Type | M/O | Description | ||
Response Parameters | ResponseCode | String (2) | M | 00 – Success 01 – Failure | ||
Response Description | String (200) | M |
| |||
Request ID | String (12) | M | Echoed from Request | |||
Bill ID | Integer (12) | M | Echoed from Request | |||
| Amount | Integer | C | Amount required to pay bill. | ||
Sample Response Body (Success) | { "ResponseCode": "00", "ResponseDescription": "Request successfully received by the Bill Aggregator", "RequestID": "915251236706", “BillID”: “123456789101112” “Amount”: “2250” } | |||||
Sample Response Body (Failure) | { "ResponseCode": "01", "ResponseDescription": "Request not acknowledged by the Bill Aggregator” "RequestID": "915251236706", “BillID”: “123456789101112” } |
1.1.2.5 Pay_Bill_Request
Description | This is the API that is called by the Payer to the Payer FI to process payment. | |||||
Client | Payer | |||||
Server | Payer FI | |||||
Method | Post | |||||
Request Parameters | Field | Type | M/O | Description | ||
RequestID | String (12) | M | Globally unique ID | |||
SourceBBID | String (12) | M | To identify the origination of the request. | |||
Bill ID | Integer (12) | M | Unique Customer ID | |||
| Authorization | AN (6) | M | Client OTP/ MPIN to authorize account debit | ||
Sample Request Body | { "RequestID": "915251236706", "SourceBBID": "467028349179", "Bill ID”: “123456789101112”, “Authorization”: 123456 } | |||||
| Field | Type | M/O | Description | ||
Response Parameters | ResponseCode | String (2) | M | 00 – Success 01 – Failure | ||
Bill Payment Status | String (200) | M |
| |||
Request ID | String (12) | M | Echoed from Request | |||
Bill ID | Integer (12) | M | Echoed from Request | |||
Sample Response Body (Success) | { "ResponseCode": "00", "BillPaymentStatus": "Payment successful", "RequestID": "915251236706", “BillID”: “123456789101112” } | |||||
Sample Response Body (Failure) | { "ResponseCode": "01", "BillPaymentStatus": "Payment unsuccessful” "RequestID": "915251236706", “BillID”: “123456789101112” } |
1.1.2.6 Bill_Payment_Confirmation_Notification
Description | This is the API that is called by the Payer FI to the Payments BB upon successful payment. | |||||
Client | Payer FI | |||||
Server | Payments BB | |||||
Method | Put | |||||
Request Parameters | Field | Type | M/O | Description | ||
RequestID | String (12) | M | Globally unique ID | |||
SourceBBID | String (12) | M | To identify the origination of the request. | |||
Bill ID | Integer (12) | M | Unique Customer ID | |||
| Bill Payment Status | String (200) | M |
| ||
Sample Request Body | { "RequestID": "915251236706", "SourceBBID": "467028349179", "Bill ID”: “123456789101112”, } | |||||
| Field | Type | M/O | Description | ||
ResponseCode | String (2) | M | 00 – Success 01 – Failure | |||
Response Description | String (200) | M |
| |||
Request ID | String (12) | M | Echoed from Request | |||
Bill ID | Integer (12) | M | Echoed from Request | |||
Sample Response Body (Success) | { "ResponseCode": "00", "ResponseDescription": "Request successfully received by Pay-BB", "RequestID": "915251236706", “BillID”: “123456789101112” } | |||||
Sample Response Body (Failure) | { "ResponseCode": "01", "ResponseDescription": "Request not acknowledge by Pay-BB” "RequestID": "915251236706", “BillID”: “123456789101112” } |
1.1.2.7 Bill_Payment_Confirmation
Description | This is the API that is called by the Payments BB to the Govt Entity upon receiving payment. | |||||
Client | Payments BB | |||||
Server | Govt Entity | |||||
Method | PUT | |||||
Request Parameters | Field | Type | M/O | Description | ||
RequestID | String (12) | M | Globally unique ID | |||
SourceBBID | String (12) | M | To identify the origination of the request. | |||
Bill ID | Integer (12) | M | Unique Customer ID | |||
| Txn Ref ID | Integer (10) | M | Unique transaction id generated by the payments BB. | ||
| Bill Status |
|
|
| ||
Sample Request Body | { "RequestID": "915251236706", "SourceBBID": "467028349179", "BillID”: “123456789101112”, “TxnRefID”: “12345678910” “BillStatus”: “Bill Successfully Paid” } | |||||
| Field | Type | M/O | Description | ||
Response Parameters | ResponseCode | String (2) | M | 00 – Success 01 – Failure | ||
Response Description | String (200) | M |
| |||
Request ID | String (12) | M | Echoed from Request | |||
Bill ID | Integer (12) | M | Echoed from Request | |||
Sample Response Body (Success) | { "ResponseCode": "00", "ResponseDescription": "Request successfully received by Govt- Entity", "RequestID": "915251236706", “BillID”: “123456789101112” } | |||||
Sample Response Body (Failure) | { "ResponseCode": "01", "ResponseDescription": "Request not acknowledge by Govt-Entity” "RequestID": "915251236706", “BillID”: “123456789101112” } |
Web Sequence Diagram Code
title P2G Payment Variation 2 (Request to Pay)
actor Payer
participant Payer FI
participant PaymentsBB
participant Bill Aggregator BA_n
participant GovtEntity
GovtEntity--> PaymentsBB: 1. Req_to_Pay (Push Notification)
PaymentsBB-->Payer FI:2. Generate RTP_Req \n(Invoice #,Amount, \n(Bill details and biller name)
Payer FI --> Payer:3. RTP_Req(Invoice#, Amount, BillerName)
GovtEntity-->Bill Aggregator BA_n: 4. Sends Payer Bill Invoice
Payer->Payer FI: 5. Confirms and Pay Bill_Req (Bill ID & Details)
note over Payer FI: Apply Payment \nValidation Checks e.g: \n 1. Already paid \n 2. Expiry Check
Payer FI->Payer FI: Debits Payer A/C
note right of Payer FI: Logs Txn Success_Ref ID
Payer FI -> Payer: 8. Pay Bill_Resp (Bill ID & Status)
Payer FI->PaymentsBB: 9. Notifies Bill payment Success
PaymentsBB --> PaymentsBB: i. Generates Txn Ref \nii. Marks Bill as Paid
PaymentsBB ->Bill Aggregator BA_n:10. Notify Bill Payment_Success (Ref ID)
Bill Aggregator BA_n->GovtEntity:11. Notify Bill Payment_Success(Ref ID)
loop RecurringPayment
GovtEntity--> PaymentsBB: 1. Req_to_Pay (Push Notification)
Payer->Payer FI: 2. Pay Bill_Req (Bill ID & Details)
note over Payer FI: Apply Payment \nValidation Checks e.g: \n 1. Already paid \n 2. Expiry Check
Payer FI->Payer FI: Debits Payer A/C
note right of Payer FI: Logs Txn Success_Ref ID
Payer FI -> Payer: 3. Pay Bill_Resp (Bill ID & Status)
Payer FI->PaymentsBB: 4. Notifies Bill payment Success
PaymentsBB --> PaymentsBB: i. Generates Txn Ref \nii. Marks Bill as Paid
PaymentsBB ->Bill Aggregator BA_n:5. Notify Bill Payment_Success (Ref ID)
Bill Aggregator BA_n->GovtEntity:6. Notify Bill Payment_Success(Ref ID)
Generate_RTP_Req
Description | This is the API that is called by the Payments BB to the Payer FI. | |||||
Client | Payments BB | |||||
Server | Payer FI | |||||
Method | POST | |||||
Request Parameters | Field | Type | M/O | Description | ||
RequestID | String (12) | M | Globally unique ID | |||
SourceBBID | String (12) | M | To identify the origination of the request. | |||
Invoice Number | Integer (10) | M | The invoice number of the bill | |||
Biller Name | String (10) | M | The biller’s name whose bill is to be paid. | |||
Sample Request Body | { "RequestID": "915251236706", "SourceBBID": "467028349179", "Invoice Number”: “1234567891” “Biller Name”: “Tax Payment”,
} | |||||
| Field | Type | M/O | Description | ||
Response Parameters | ResponseCode | String (2) | M | 00 – Success 01 – Failure | ||
ResponseDescription | String (200) | M |
| |||
RequestID | String (12) | M | Echoed from Request | |||
SourceBBID | Integer (12) | C | Echoed from Request | |||
Sample Response Body (Success) | { "ResponseCode": "00", "ResponseDescription": "Request successfully received by Payer FI”", "RequestID": "915251236706", "SourceBBID": "467028349179", } | |||||
Sample Response Body (Failure) | { "ResponseCode": "01", "ResponseDescription": "Request not acknowledged by Payer FI "RequestID": "915251236706", "SourceBBID": "467028349179", } |
1.1.1.2 Send_RTP_Req
Description | This is the API that is called by the Payer FI to send RTP request to the Payer | |||||
Client | Payer FI | |||||
Server | Payer | |||||
Method | Post | |||||
Request Parameters | Field | Type | M/O | Description | ||
RequestID | String (12) | M | Globally unique ID | |||
SourceBBID | String (12) | M | To identify the origination of the request. | |||
Invoice Number | Integer (10) | M | The invoice number of the bill | |||
Biller Name | String (10) | M | The biller’s name whose bill is to be paid. | |||
Sample Request Body | { "RequestID": "915251236706", "SourceBBID": "467028349179", "Invoice Number”: “1234567891” “Biller Name”: “Tax Payment”,
} | |||||
| Field | Type | M/O | Description | ||
Response Parameters | ResponseCode | String (2) | M | 00 – Success 01 – Failure | ||
ResponseDescription | String (200) | M |
| |||
RequestID | String (12) | M | Echoed from Request | |||
SourceBBID | Integer (12) | C | Echoed from Request | |||
Sample Response Body (Success) | { "ResponseCode": "00", "ResponseDescription": "Request successfully received by Payer", "RequestID": "915251236706", "SourceBBID": "467028349179", } | |||||
Sample Response Body (Failure) | { "ResponseCode": "01", "ResponseDescription": "Request not acknowledged by Payer "RequestID": "915251236706", "SourceBBID": "467028349179", } |
1.1.2.3 Pay_Bill_Request
Description | This is the API that is called by the Payer to the Payer FI to process payment. | |||||
Client | Payer | |||||
Server | Payer FI | |||||
Method | Post | |||||
Request Parameters | Field | Type | M/O | Description | ||
RequestID | String (12) | M | Globally unique ID | |||
SourceBBID | String (12) | M | To identify the origination of the request. | |||
Bill ID | Integer (12) | M | Unique Customer ID | |||
| Authorization | AN (6) | M | Client OTP/ MPIN to authorize account debit | ||
Sample Request Body | { "RequestID": "915251236706", "SourceBBID": "467028349179", "Bill ID”: “123456789101112”, “Authorization”: 123456 } | |||||
| Field | Type | M/O | Description | ||
Response Parameters | ResponseCode | String (2) | M | 00 – Success 01 – Failure | ||
Bill Payment Status | String (200) | M |
| |||
Request ID | String (12) | M | Echoed from Request | |||
Bill ID | Integer (12) | M | Echoed from Request | |||
Sample Response Body (Success) | { "ResponseCode": "00", "BillPaymentStatus": "Payment successful", "RequestID": "915251236706", “BillID”: “123456789101112” } | |||||
Sample Response Body (Failure) | { "ResponseCode": "01", "BillPaymentStatus": "Payment unsuccessful” "RequestID": "915251236706", “BillID”: “123456789101112” } |
1.1.2.4 Bill_Payment_Confirmation_Notification
Description | This is the API that is called by the Payer FI to the Payments BB upon successful payment. | |||||
Client | Payer FI | |||||
Server | Payments BB | |||||
Method | Put | |||||
Request Parameters | Field | Type | M/O | Description | ||
RequestID | String (12) | M | Globally unique ID | |||
SourceBBID | String (12) | M | To identify the origination of the request. | |||
Bill ID | Integer (12) | M | Unique Customer ID | |||
| Bill Payment Status | String (200) | M |
| ||
Sample Request Body | { "RequestID": "915251236706", "SourceBBID": "467028349179", "Bill ID”: “123456789101112”, } | |||||
| Field | Type | M/O | Description | ||
Response Parameters | ResponseCode | String (2) | M | 00 – Success 01 – Failure | ||
Response Description | String (200) | M |
| |||
Request ID | String (12) | M | Echoed from Request | |||
Bill ID | Integer (12) | M | Echoed from Request | |||
Sample Response Body (Success) | { "ResponseCode": "00", "ResponseDescription": "Request successfully received by Pay-BB", "RequestID": "915251236706", “BillID”: “123456789101112” } | |||||
Sample Response Body (Failure) | { "ResponseCode": "01", "ResponseDescription": "Request not acknowledge by Pay-BB” "RequestID": "915251236706", “BillID”: “123456789101112” } |
1.1.2.5 Bill_Payment_Confirmation
Description | This is the API that is called by the Payments BB to the Govt Entity upon receiving payment. | |||||
Client | Payments BB | |||||
Server | Govt Entity | |||||
Method | PUT | |||||
Request Parameters | Field | Type | M/O | Description | ||
RequestID | String (12) | M | Globally unique ID | |||
SourceBBID | String (12) | M | To identify the origination of the request. | |||
Bill ID | Integer (12) | M | Unique Customer ID | |||
| Txn Ref ID | Integer (10) | M | Unique transaction id generated by the payments BB. | ||
| Bill Status |
|
|
| ||
Sample Request Body | { "RequestID": "915251236706", "SourceBBID": "467028349179", "BillID”: “123456789101112”, “TxnRefID”: “12345678910” “BillStatus”: “Bill Successfully Paid” } | |||||
| Field | Type | M/O | Description | ||
Response Parameters | ResponseCode | String (2) | M | 00 – Success 01 – Failure | ||
Response Description | String (200) | M |
| |||
Request ID | String (12) | M | Echoed from Request | |||
Bill ID | Integer (12) | M | Echoed from Request | |||
Sample Response Body (Success) | { "ResponseCode": "00", "ResponseDescription": "Request successfully received by Govt- Entity", "RequestID": "915251236706", “BillID”: “123456789101112” } | |||||
Sample Response Body (Failure) | { "ResponseCode": "01", "ResponseDescription": "Request not acknowledge by Govt-Entity” "RequestID": "915251236706", “BillID”: “123456789101112” } |