CDR Experimantal Simple Payments API v0.0.1
Scroll down for example requests and responses.
Specification of endpoints defined in the Simple Payments experimental standard. This is an experimental standard created by the Data Standards Body (DSB) as part of the Consumer Data Standards
Base URLs:
Email: Consumer Data Standards Web: Consumer Data Standards License: MIT License
Banking
postPaymentInstruction #
Code samples
POST /DSB/banking/payments
Submit a payment instruction on behalf of a consumer.
Body parameter
{
"data": {
"to": {
"toUType": "accountId",
"accountId": "string"
},
"from": {
"toUType": "accountId",
"accountId": "string"
},
"instruction": {
"amount": "string",
"currency": "string"
}
},
"meta": {}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
x-v | header | string | true | Version of the API end point requested by the client. Must be set to a positive integer. The data holder should respond with the highest supported version between x-min-v and x-v. If the value of x-min-v is equal to or higher than the value of x-v then the x-min-v header should be treated as absent. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. See HTTP Headers |
x-min-v | header | string | false | Minimum version of the API end point requested by the client. Must be set to a positive integer if provided. The data holder should respond with the highest supported version between x-min-v and x-v. If all versions requested are not supported then the data holder must respond with a 406 Not Acceptable. |
body | body | PostPaymentInstructionRequestV1 | true | Payment instruction to submit for execution |
Example responses
200 Response
{
"data": {
"paymentStatus": "PENDING",
"transactionId": "string",
"rejectionReason": "LIMIT"
},
"links": {
"self": "string"
},
"meta": {}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successful response | PostPaymentInstructionResponseV1 |
400 | Bad Request | The following error codes MUST be supported: |
ResponseErrorListV2 |
406 | Not Acceptable | The following error codes MUST be supported: |
ResponseErrorListV2 |
Response Headers #
Status | Header | Type | Format | Description |
---|---|---|---|---|
200 | x-v | string | none |
Schemas #
PostPaymentInstructionRequestV1
{
"data": {
"to": {
"toUType": "accountId",
"accountId": "string"
},
"from": {
"toUType": "accountId",
"accountId": "string"
},
"instruction": {
"amount": "string",
"currency": "string"
}
},
"meta": {}
}
Properties #
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | object | true | none | none |
» to | object | true | none | none |
»» toUType | string | true | none | Indicates the type of object used to define the destination account for the payment |
»» accountId | string | false | none | The ID of the destination account previous obtained from a CDR account endpoint call for this consumer. Mandatory if toUType is set to accountId |
» from | object | true | none | none |
»» toUType | string | false | none | Indicates the type of object used to define the source account for the payment |
»» accountId | string | false | none | The ID of the source account previous obtained from a CDR account endpoint call for this consumer. Mandatory if fromUType is set to accountId |
» instruction | object | true | none | none |
»» amount | string | true | none | The amount to be paid |
»» currency | string | false | none | The currency the payment will be made in. Assumes AUD if absent |
meta | Meta | true | none | none |
Enumerated Values #
Property | Value |
---|---|
toUType | accountId |
toUType | accountId |
PostPaymentInstructionResponseV1
{
"data": {
"paymentStatus": "PENDING",
"transactionId": "string",
"rejectionReason": "LIMIT"
},
"links": {
"self": "string"
},
"meta": {}
}
Properties #
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
data | object | true | none | none |
» paymentStatus | string | true | none | Status of the payment instruction. Values are: * PENDING - The payment is staged but will be processed asynchronously * AUTHORISATION_REQUIRED - Manual authorisation is required before processing can occur * PAID - The payment has been successfully processed * REJECTED - The payment has been rejected (see rejectionReason for more detail) |
» transactionId | string | false | none | If the paymentStatus is PAID then this field may optionally contain an ID of the transaction that can be used to call the CDR Get Transaction Detail endpoint |
» rejectionReason | string | false | none | Mandatory if paymentStatus is set to REJECTED . Values are:* LIMIT - A payment limit has been encountered that prevents this payment * TO_ACCOUNT - The to account is invalid * FROM_ACCOUNT - The from account is invalid * BALANCE - Insufficient balance to complete the payment * NOT_SUPPORTED_TO - The payment type is not supported by the source account * NOT_SUPPORTED_FROM - The payment type is not supported by the destination account * UNDISCLOSED - The payment failed for an undisclosed reason |
links | Links | true | none | none |
meta | Meta | true | none | none |
Enumerated Values #
Property | Value |
---|---|
paymentStatus | PENDING |
paymentStatus | AUTHORISATION_REQUIRED |
paymentStatus | PAID |
paymentStatus | REJECTED |
rejectionReason | LIMIT |
rejectionReason | TO_ACCOUNT |
rejectionReason | FROM_ACCOUNT |
rejectionReason | BALANCE |
rejectionReason | NOT_SUPPORTED |
rejectionReason | UNDISCLOSED |
ResponseErrorListV2
{
"errors": [
{
"code": "string",
"title": "string",
"detail": "string",
"meta": {
"urn": "string"
}
}
]
}
Properties #
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
errors | [object] | true | none | none |
» code | string | true | none | The code of the error encountered. Where the error is specific to the respondent, an application-specific error code, expressed as a string value. If the error is application-specific, the URN code that the specific error extends must be provided in the meta object. Otherwise, the value is the error code URN. |
» title | string | true | none | A short, human-readable summary of the problem that MUST NOT change from occurrence to occurrence of the problem represented by the error code. |
» detail | string | true | none | A human-readable explanation specific to this occurrence of the problem. |
» meta | MetaError | false | none | Additional data for customised error codes |
Links
{
"self": "string"
}
Properties #
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
self | string | true | none | Fully qualified link that generated the current response document |
Meta
{}
Properties #
None
MetaError
{
"urn": "string"
}
Additional data for customised error codes
Properties #
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
urn | string | false | none | The CDR error code URN which the application-specific error code extends. Mandatory if the error code is an application-specific error rather than a standardised error code. |