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
{
  "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.