Domestic Payments

Create Consent

User consent is the foremost requirement to authorize Singleview and enable the PIS module to:

  • Register an intent to initiate a payment
  • Access payment details to track the payment status or get the transaction details

Here are the details to understand consent creation for PIS module through Singleview:

Endpoint details

EndpointMethodGrant typeScope
/v1/api/openBanking/pisp/createconsentPOSTThe header should include:
1. clientId
2. clientCode
3. signature
4. sid
5. Authorization: Bearer
Posting a request to create a payment consent

Request to create consent - sample

{
    "SVPaymentConsentRequest": {
        "DateTimeStamp": "2022-07-25T17:51:03",
        "RequestID": "{{RequestID}}",
        "userName": "{{userName}}",
        "SVPaymentConsentInfoMessage": [
            {
                "SVPaymentConsentInfoRequest": {
                    "BankCode": "SAMA",
                    "Data": {
                        "Initiation": {
                            "InstructionIdentification": "1254521522",
                            "EndToEndIdentification": "12545245515151522",
                            "InstructedAmount": {
                                "Amount": 667.61,
                                "Currency": "GBP"
                            },
                            "CreditorAccount": {
                                "SchemeName": "UK.OBIE.SortCodeAccountNumber",
                                "Identification": "12345678901234",
                                "Name": "Daniel Group"
                            },
                            "RemittanceInformation": {
                                "Reference": "test 8898",
                                "Unstructured": "9113 repellat quis rem"
                            }
                        }
                    },
                    "Risk": {}
                }
            }
        ]
    }
}

Description:

JSON TagDescriptionData type
SVPaymentConsentRequest
Mandatory
Create payment consent request tagObject
DateTimeStamp
Mandatory
Stamp denoting the request date and timeString
RequestID
Mandatory
Unique request identificationString
userName
Mandatory
Client UsernameString
SVPaymentConsentInfoMessage
Mandatory
Create payment consent information message tagObject
SVPaymentConsentInfoRequest
Mandatory
Create payment consent information request tagObject
BankCode
Mandatory
Unique bank code for identificationString
Data
Mandatory
Data tag representing the set of data included in the requestObject
Initiation
Mandatory
Initiation payload sent by the initiating party to the ASPSP to request movement of fundsObject
InstructionIdentification
Mandatory
Point-to-point reference of individual instructionsString
EndToEndIdentification
Mandatory
Unique identification used for reconciliation or to link tasks relating to the transactionString
InstructedAmount
Mandatory
Ordered amount to be moved between the debtor and creditorObject
Amount
Mandatory
Specified amount to be processedString
Currency
Mandatory
The currency of the amount used in transactionString
CreditorAccount
Mandatory
Account information of the creditor tagObject
SchemeName
Mandatory
Name of the account's identification schemeString
Identification
Mandatory
Unique identification of the servicing institutionString
Name
Mandatory
Name(s) of the account holder or ownerString
RemittanceInformation
Mandatory
Description of the paymentObject
Reference
Mandatory
Assigned by the creditor to refer to the payment transactionString
Unstructured
Mandatory
Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.String
Risk
Mandatory
Risk description & disclaimerString

Successfully created consent response - sample

{
    "success": true,
    "message": "",
    "SVPaymentConsentResponse": {
        "SVPaymentConsentInfoMessage": [
            {
                "SVPaymentConsentInfoResponse": {
                    "Data": {
                        "Initiation": {
                            "InstructionIdentification": "1254521522",
                            "EndToEndIdentification": "12545245515151522",
                            "InstructedAmount": {
                                "Amount": 667.61,
                                "Currency": "GBP"
                            },
                            "CreditorAccount": {
                                "SchemeName": "UK.OBIE.SortCodeAccountNumber",
                                "Identification": "12345678901234",
                                "Name": "Daniel Group"
                            },
                            "RemittanceInformation": {
                                "Reference": "test 8898",
                                "Unstructured": "9113 repellat quis rem"
                            }
                        },
                        "ConsentId": "pay-di-679b5a8e-7993-42d4-8c5c-c22f505555ce",
                        "Status": "AwaitingAuthorisation",
                        "CreationDateTime": "2022-07-25T11:27:36.639Z",
                        "StatusUpdateDateTime": "2022-07-25T11:27:36.639Z",
                        "consentId": "pay-di-679b5a8e-7993-42d4-8c5c-c22f505555ce"
                    },
                    "Risk": {},
                    "Links": {
                        "Self": "https://rs1.lab.openbanking.sa/open-banking/v3.1/pisp/domestic-payment-consents/pay-di-679b5a8e-7993-42d4-8c5c-c22f505555ce"
                    },
                    "Meta": {},
                    "BankCode": "SAMA",
                    "scope": "openid payments",
                    "state": "67eddad6-9058-4c6d-9bd5-92ffa57130d3",
                    "bankRedirectURL": "https://auth1.lab.openbanking.sa/auth?client_id=9f97a211-6f57-4239-bbe4-2b4654ba6af6&response_type=code&scope=openid%20payments&request=eyJhbGciOiJub25lIn0.eyJhdWQiOiJodHRwczovL2F1dGgxLmxhYi5vcGVuYmFua2luZy5zYSIsImV4cCI6MTY1ODc0OTA1NywiaXNzIjoiOWY5N2EyMTEtNmY1Ny00MjM5LWJiZTQtMmI0NjU0YmE2YWY2Iiwic2NvcGUiOiJvcGVuaWQgcGF5bWVudHMiLCJyZWRpcmVjdF91cmkiOiJodHRwczovL3VhdC5vbmVzaW5nbGV2aWV3LmNvbS9vcGVuYmFua2luZy9hdXRob3Jpc2UvVTBGTlFRPT0iLCJyZXNwb25zZV90eXBlIjoiY29kZSIsImNsaWVudF9pZCI6IjlmOTdhMjExLTZmNTctNDIzOS1iYmU0LTJiNDY1NGJhNmFmNiIsIm5vbmNlIjoiMDQ0MjhkODMtYjcwNS00NzIyLWE5MTItYWZjOGQ3NDRiYmU2Iiwic3RhdGUiOiI2N2VkZGFkNi05MDU4LTRjNmQtOWJkNS05MmZmYTU3MTMwZDMiLCJuYmYiOjE2NTg3NDc1NTcsImxvZ2luX2hpbnQiOiJyYXN0YW1hbiIsImNsYWltcyI6eyJpZF90b2tlbiI6eyJvcGVuYmFua2luZ19pbnRlbnRfaWQiOnsidmFsdWUiOiJwYXktZGktNjc5YjVhOGUtNzk5My00MmQ0LThjNWMtYzIyZjUwNTU1NWNlIiwiZXNzZW50aWFsIjp0cnVlfX19fQ.",
                    "Token": "deb456b2-1b48-42cf-9810-85e57f7c0d89"
                }
            }
        ]
    }
}

Description:

JSON TagDescription
successProcess success status represented as True or False
messageProcess execution message
SVPaymentConsentResponseCreate payment consent response tag
SVPaymentConsentInfoMessageCreate payment consent information message tag
SVPaymentConsentInfoResponsePayment consent information response tag
DataData tag representing the set of data included in the request
InitiationInitiation payload sent by the initiating party to the ASPSP to request movement of funds
InstructionIdentificationPoint-to-point reference of individual instructions
EndToEndIdentificationUnique identification used for reconciliation or to link tasks relating to the transaction
InstructedAmountOrdered amount to be moved between the debtor and creditor
AmountSpecified amount to be processed
CurrencyThe currency of the amount used in transaction
CreditorAccountAccount information of the creditor tag
SchemeNameName of the account's identification scheme
IdentificationUnique identification of the servicing institution
NameName(s) of the account holder or owner
RemittanceInformationDescription of the payment
ReferenceAssigned by the creditor to refer to the payment transaction
UnstructuredInformation supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.
ConsentIdUnique consent identification
StatusStatus of the payment
CreationDateTimeDate of creation of payment
StatusUpdateDateTimeLast updated status date and time for payment
RiskRisk description & disclaimer
LinksRedirect links
SelfOwn link/url details
MetaMeta tag
BankCodeUnique bank code for identification
scopeScope details
stateUnique state identification
bankRedirectURLBank redirect url for reflecting the results
TokenSecondary identification

Initiate Payment

Endpoint details

EndpointMethodGrant typeScope
/v1/api/openBanking/pisp/paymentInitiationPOSTThe header should include:
1. clientId
2. clientCode
3. signature
4. sid
5. Authorization: Bearer
Posting a request to initiate a payment

Request to initiate a payment - sample

{
    "SVPaymentInitiationRequest": {
        "DateTimeStamp": "2022-07-25T17:51:03",
        "RequestID": "{{RequestID}}",
        "userName": "{{userName}}",
        "SVPaymentInitiationInfoMessage": [
            {
                "SVPaymentInitiationInfoRequest": {
                    "BankCode": "SAMA",
                    "Data": {
                        "ConsentId": "{{ConsentId}}",
                        "Initiation": "{{Initiation}}"
                    },
                    "Risk": {}
                }
            }
        ]
    }
}

Description:

JSON TagDescriptionData type
SVPaymentInitiationRequest
Mandatory
Request to initiate payment tagObject
DateTimeStamp
Mandatory
Stamp denoting the request date and timeString
RequestID
Mandatory
Unique request identificationString
userName
Mandatory
Client UsernameString
SVPaymentInitiationInfoMessage
Mandatory
Payment initiation information message tagObject
SVPaymentInitiationInfoRequest
Mandatory
Payment initiation request information tagObject
BankCode
Mandatory
Unique bank code for identificationString
Data
Mandatory
Data tag representing the data included in the requestObject
ConsentId
Mandatory
Unique consent identificationString
Initiation
Mandatory
Initiation payload sent by the initiating party to the ASPSP to request movement of fundsString
Risk
Mandatory
Risk description & disclaimerString

Successfully initiated payment response - sample

{
    "success": true,
    "message": "",
    "SVPaymentInitiationResponse": {
        "SVPaymentInitiationInfoMessage": [
            {
                "SVPaymentInitiationInfoResponse": {
                    "Data": {
                        "ConsentId": "pay-di-679b5a8e-7993-42d4-8c5c-c22f505555ce",
                        "Status": "PENDING",
                        "CreationDateTime": "2022-07-25T11:33:53.363Z",
                        "StatusUpdateDateTime": "2022-07-25T11:33:53.363Z",
                        "Initiation": {
                            "InstructionIdentification": "1254521522",
                            "EndToEndIdentification": "12545245515151522",
                            "InstructedAmount": {
                                "Amount": 667.61,
                                "Currency": "GBP"
                            },
                            "CreditorAccount": {
                                "SchemeName": "UK.OBIE.SortCodeAccountNumber",
                                "Identification": "12345678901234",
                                "Name": "Daniel Group"
                            },
                            "RemittanceInformation": {
                                "Reference": "test 8898",
                                "Unstructured": "9113 repellat quis rem"
                            }
                        },
                        "DomesticPaymentId": "9dfa2094-4af0-4994-a2eb-ae6b8556c827"
                    },
                    "Links": {
                        "Self": "https://rs1.lab.openbanking.sa/open-banking/v3.1/pisp/domestic-payments/9dfa2094-4af0-4994-a2eb-ae6b8556c827"
                    },
                    "Meta": {},
                    "BankCode": "SAMA"
                }
            }
        ]
    }
}

Description:

JSON TagDescription
successProcess success status represented as True or False
messageProcess execution message
SVPaymentInitiationResponseInitiate payment response tag
SVPaymentInitiationInfoMessageInitiate payment information message tag
SVPaymentInitiationInfoResponseInitiate payment information response tag
DataData tag representing the set of data included in the request
ConsentIdUnique consent identification
StatusStatus of the payment
CreationDateTimeDate of creation of payment
StatusUpdateDateTimeLast updated status date and time for payment
InitiationInitiation payload sent by the initiating party to the ASPSP to request movement of funds
InstructionIdentificationPoint-to-point reference of individual instructions
EndToEndIdentificationUnique identification used for reconciliation or to link tasks relating to the transaction
InstructedAmountOrdered amount to be moved between the debtor and creditor
AmountSpecified amount to be processed
CurrencyThe currency of the amount used in transaction
CreditorAccountAccount information of the creditor tag
SchemeNameName of the account's identification scheme
IdentificationUnique identification of the servicing institution
NameName(s) of the account holder or owner
RemittanceInformationDescription of the payment
ReferenceAssigned by the creditor to refer to the payment transaction
UnstructuredInformation supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.
DomesticPaymentIdUnique identification for payment resource
LinksRedirect links
SelfOwn link/url details
MetaMeta tag
BankCodeUnique bank code for identification

Get Payment Details

Endpoint details

EndpointMethodGrant typeScope
/v1/api/openBanking/pisp/paymentDetailsPOSTThe header should include:
1. clientId
2. clientCode
3. signature
4. sid
5. Authorization: Bearer
Fetching the details of a payment through Payment ID

Request to get payment details - sample

{
    "SVPaymentDetailsRequest": {
        "DateTimeStamp": "2022-07-25T17:51:03",
        "RequestID": "{{RequestID}}",
        "userName": "{{userName}}",
        "SVPaymentDetailsInfoMessage": [
            {
                "SVPaymentDetailsInfoRequest": {
                    "BankCode": "SAMA",
                    "PaymentId": "{{DomesticPaymentId}}"
                }
            }
        ]
    }
}

Description:

JSON TagDescriptionData type
SVPaymentDetailsRequest
Mandatory
Get payment details request tagObject
DateTimeStamp
Mandatory
Stamp denoting the request date and timeString
RequestID
Mandatory
Unique request identificationString
userName
Mandatory
Client UsernameString
SVPaymentDetailsInfoMessage
Mandatory
Get payment details information message tagObject
SVPaymentDetailsInfoRequest
Mandatory
Get payment details information request tagObject
BankCode
Mandatory
Unique bank code for identificationString
PaymentId
Mandatory
Unique identification for payment resourceString

Successfully fetched payment details response - sample

{
    "success": true,
    "message": "",
    "SVPaymentDetailsResponse": {
        "SVPaymentDetailsInfoMessage": [
            {
                "SVPaymentDetailsInfoResponse": {
                    "BankCode": "SAMA",
                    "payment": {
                        "Data": {
                            "ConsentId": "pay-di-679b5a8e-7993-42d4-8c5c-c22f505555ce",
                            "CreationDateTime": "2022-07-25T11:33:53.363Z",
                            "StatusUpdateDateTime": "2022-07-25T11:34:09.094Z",
                            "Status": "Pending",
                            "Initiation": {
                                "InstructionIdentification": "1254521522",
                                "EndToEndIdentification": "12545245515151522",
                                "InstructedAmount": {
                                    "Amount": 667.61,
                                    "Currency": "GBP"
                                },
                                "CreditorAccount": {
                                    "SchemeName": "UK.OBIE.SortCodeAccountNumber",
                                    "Identification": "12345678901234",
                                    "Name": "Daniel Group"
                                },
                                "RemittanceInformation": {
                                    "Reference": "test 8898",
                                    "Unstructured": "9113 repellat quis rem"
                                }
                            },
                            "DomesticPaymentId": "9dfa2094-4af0-4994-a2eb-ae6b8556c827",
                            "Refund": "null"
                        },
                        "Links": {
                            "Self": "https://rs1.lab.openbanking.sa/open-banking/v3.1/pisp/domestic-payments/9dfa2094-4af0-4994-a2eb-ae6b8556c827"
                        },
                        "Meta": {}
                    },
                    "details": {
                        "Data": {
                            "PaymentTransactionId": "9dfa2094-4af0-4994-a2eb-ae6b8556c827",
                            "Status": "Pending",
                            "StatusUpdateDateTime": "2022-07-25T11:34:09.086Z",
                            "StatusDetails": [
                                {
                                    "LocalInstrument": "UK.OBIE.FPS",
                                    "Status": "Pending",
                                    "StatusReason": "Not Submitted",
                                    "StatusReasonDescription": "None"
                                }
                            ]
                        },
                        "Links": {
                            "Self": "https://rs1.lab.openbanking.sa/open-banking/v3.1/pisp/domestic-payments/9dfa2094-4af0-4994-a2eb-ae6b8556c827/payment-details"
                        },
                        "Meta": {}
                    }
                }
            }
        ]
    }
}

Description:

JSON TagDescription
successProcess success status represented as True or False
messageProcess execution message
SVPaymentDetailsResponseGet payment details response tag
SVPaymentDetailsInfoMessageGet payment details information message tag
SVPaymentDetailsInfoResponseGet payment details information response tag
BankCodeUnique bank code for identification
paymentPayment details tag
DataData tag representing the set of data included in the request
ConsentIdUnique consent identification
CreationDateTimeDate of creation of payment
StatusUpdateDateTimeLast updated status date and time for payment
StatusStatus of the payment
InitiationInitiation payload sent by the initiating party to the ASPSP to request movement of funds
InstructionIdentificationPoint-to-point reference of individual instructions
EndToEndIdentificationUnique identification used for reconciliation or to link tasks relating to the transaction
InstructedAmountOrdered amount to be moved between the debtor and creditor
AmountSpecified amount to be processed
CurrencyThe currency of the amount used in transaction
CreditorAccountAccount information of the creditor tag
SchemeNameName of the account's identification scheme
IdentificationUnique identification of the servicing institution
NameName(s) of the account holder or owner
RemittanceInformationDescription of the payment
ReferenceAssigned by the creditor to refer to the payment transaction
UnstructuredInformation supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts' receivable system, in an unstructured form.
DomesticPaymentIdUnique identification for domestic payment resource
RefundRefund account details: Available only when PSU has an active consent with the TPP.
LinksRedirect links
SelfOwn link/url details
MetaMeta tag
detailsTransaction details of the payment
DataData set of payment information
PaymentTransactionIdUnique transaction identification for payment resource
StatusStatus of the payment
StatusUpdateDateTimeLast updated status date and time for payment
StatusDetailsDetails of the status
LocalInstrumentLocal handling payment status
StatusStatus of the payment request
StatusReasonReason of the status
StatusReasonDescriptionDescription of the status reason