P2G Use Case V1

P2G Payments Use Cases

Web Sequence Diagram

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

API Specifications:

Bill_ID_Generation

Description

This is the API that is called by the Payments BB when the Govt Entity in turn calls its API for receiving biller’s ID against a registered consumer

Client

Govt Entity

Server

Aggregator

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 Details

 

 

 

Consumer Info

Object

M

JSON Array

Consumer Name

String (6)

M

The customer’s name eligible to pay for the bill.

Consumer Number

Integer (10)

M

The customer’s ID against the bill.

Biller Info

Object

M

JSON Array

Biller Name

String (10)

M

The biller’s name whose bill is to be paid.

Biller Number

Integer (10)

M

The biller ID.

Bill Amount and Date

Object

M

JSON Array

Due Date

Epoch

M

The date at which the consumer needs to pay the bill.

Amount before Due Date

Integer

M

Amount calculated on due date.

 

Amount after Due Date

Integer

M

Amount calculated after due date.

Sample Request Body

{

"RequestID": "915251236706",

"SourceBBID": "467028349179",

"Consumer Info": [

"Consumer Name ": "Sameul",

"Consumer Number": "12345678910",

]

“Biller Info”: [

“Biller Name”: “Tax Payment”,

“Biller Number”:”12345678910”,

 

]

 

“Bill Amount and Date”: [

“Due Date”: “04/17/23”

“Amount Before Due Date”: “2550”,

“Amount after Due Date”: “2570”,

 

]

 

}

 

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

Bill_ID

Integer (20)

C

This will be the unique bill ID.

Sample Response Body (Success)

{

"ResponseCode": "00",

"ResponseDescription": "Request successfully received by Pay-BB",

"RequestID": "915251236706",

"SourceBBID": "467028349179",

"Bill ID": "123456789101112"

}

Sample Response Body (Failure)

{

"ResponseCode": "01",

"ResponseDescription": "Request not acknowledged by Pay-

"RequestID": "915251236706",

"SourceBBID": "467028349179",

}

 

 

 

 

 

 

 

 

1.1.2.2 Bill_Inquiry_Request

Description

This is the API that is called by the Payer FI to receive bill inquiry from the Payments BB.

Client

Payer FI

Server

Payments BB

Method

GET

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

ResponseDescription

String (200)

M

 

RequestID

String (12)

M

Echoed from Request

Bill_Inquiry

Object

M

The relevant bill details including customer and biller name. amount with due date and after due date.

Bill_ID

Integer (12)

M

Echoed from Request

Biller_Name

String (10)

M

Biller Name

Customer_Name

String (6)

M

Customer Name

Due Date

Epoch

M

 

Amount on Due Date

Integer

C

The amount at which the consumer needs to pay bill with due date.

 

Amount after Due Date

Integer

C

Amount calculated after due date.

Sample Response Body (Success)

{

"ResponseCode": "00",

"ResponseDescription": "Request successfully received by Pay-BB",

 

"RequestID": "915251236706",

“BillID”: “123456789101112”

“Bill_Inquiry”: [

“Biller Name”: “Tax Payment”,

"Consumer Name ": "Sameul",

“Due Date”: “04/17/23”

“Amount Before Due Date”: “2550”,

]

 

}

Sample Response Body (Failure)

{

"ResponseCode": "01",

"ResponseDescription": "Request not acknowledged by Pay-

"RequestID": "915251236706",

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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”: “123456789101”,

“Authorization”: 123456

}

 

Field

Type

M/O

Description

Response Parameters

ResponseCode

String (2)

M

00 – Success

01 – Failure

Bill Payment Status

String (200)

M

Describes whether the payment was successfully processed or not

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”: “123456789101”

}

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

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

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”

}

 

 

 

 

 

 

 

 

 

Web Sequence Diagram Code

 

title P2G Payment Variation 1

participant Payer

participant Payer FI

participant PaymentsBB

participant GovtEntity

GovtEntity->PaymentsBB: 1. Bill ID Gen_Req (Bill ID & Details)

PaymentsBB->GovtEntity: 2. Bill ID Gen_Resp(Bill ID & Details)

GovtEntity-->Payer: 3. Sends Bill ID & Details

Payer->Payer FI: 4. Pay Bill_Req (Bill ID & Details)

Payer FI->PaymentsBB:5. Bill Details_Req (Amount Fetch)

PaymentsBB->Payer FI:6. Bill Details_Resp(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: 7. Pay Bill_Resp (Bill ID & Status)

Payer FI->PaymentsBB: 8. Notifies Bill payment Success

PaymentsBB --> PaymentsBB: i. Generates Txn Ref \nii. Marks Bill as Paid

PaymentsBB->GovtEntity:9. Notify Bill Payment_Success(Ref ID)