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

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 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

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.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”

}