createOrder

Requests that an order be created for the specified payment amount. The request is treated as an online financial authorization message. If the client calling this resource does not receive a response, then a reversePayment call must be made to the /orders/reversals resource to ensure the transaction is cancelled with no financial impact.

SecurityhttpBasic or oauth2
Request
Request Body schema: application/json

A message containing the data required to carry out the payment order, as well as information about the point-of-sale from which the transaction originates.

Array of objects (TransactionLabel)

A list containing labels that can be used to discover this transaction or group it with other transactions sharing labels with the same label name and value. Transaction labels should never be used to make transaction processing decisions.

id
required
string

The randomly generated UUID identifying this transaction, as defined for a variant 4 UUID in RFC 4122

time
required
string <date-time>

The date and time of the message as recorded by the sender. The format shall be as defined for date-time in RFC 3339 section 5.6. It is recommended that the optional time-secfrac be included up to millisecond precision

required
object (Originator)

The Originator object encapsulates data relating to the originator of the transaction

required
object (Institution)

Originating, acquiring, processing, or receiving institution details

object (Institution)

Originating, acquiring, processing, or receiving institution details

object (Institution)

Originating, acquiring, processing, or receiving institution details

required
Array of objects (ThirdPartyIdentifier)

An array of identifiers which each identify the transaction within each entity's system.

object (SlipData)

Data that may be printed on the customer slip for information purposes

basketRef
string

Used to group multiple transactions which would otherwise be considered independent.

tranType
string

Data relating to the type of transaction taking place (i.e. cash withdrawal, goods and services etc.).

Enum: "GOODS_AND_SERVICES" "CASH_WITHDRAWAL" "DEBIT_ADJUSTMENT" "GOODS_AND_SERVICES_WITH_CASH_BACK" "NON_CASH" "RETURNS" "DEPOSIT" "CREDIT_ADJUSTMENT" "GENERAL_CREDIT" "AVAILABLE_FUNDS_INQUIRY" "BALANCE_INQUIRY" "GENERAL_INQUIRY" "CARD_VERIFICATION_INQUIRY" "CARDHOLDER_ACCOUNTS_TRANSFER" "GENERAL_TRANSFER" "PAYMENT_FROM_ACCOUNT" "GENERAL_PAYMENT" "PAYMENT_TO_ACCOUNT" "PAYMENT_FROM_ACCOUNT_TO_ACCOUNT" "PLACE_HOLD_ON_CARD" "GENERAL_ADMIN" "CHANGE_PIN" "CARD_HOLDER_INQUIRY" "POINTS_INQUIRY"
srcAccType
string

This specifies the type of source account being used in the transaction (i.e. cheque, savings).

Enum: "DEFAULT" "SAVINGS" "CHEQUE" "CREDIT" "UNIVERSAL" "ELECTRONIC_PURSE" "GIFT_CARD" "STORED_VALUE"
destAccType
string

This specifies the type of destination account being used in the transaction (i.e. cheque, savings).

Enum: "DEFAULT" "SAVINGS" "CHEQUE" "CREDIT" "UNIVERSAL" "ELECTRONIC_PURSE" "GIFT_CARD" "STORED_VALUE"
stan
string

The System Trace Audit Number can be used to locate transactions across different systems.

rrn
string

This is a reference set by the original source of the transaction.

required
object (LedgerAmount)

An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT

required
object (PersonalDetails)

Personal details of a customer.

object (PersonalDetails)

Personal details of a customer.

object (EncryptedPin)

A PIN required to authorise a transaction. EncryptionParameters should be provided where the service will be performing operations on the encrypted PIN, such as PIN translation. Only the PIN block need be provided where the service is expected to forward it to a third party, where the calling client and said third party have agreed upon encryption parameters beforehand.

customerProfileId
string

Uniquely identifies customer's profile on the upstream entity's system.

newCustomer
boolean
Default: false

An optional flag indicating whether the customer placing the order is already registered on the provider's system.

object (LedgerAmount)

An amount object only containing value and currency, and optionally an indicator of DEBIT/CREDIT

quoteId
string

The value returned in a previous MoneyTransferFeeQuoteResponse object. This allows a specific money transfer order to be linked to a specific quote.

purposeOfRemittance
string

The reason the sender is performing a money transfer. This may be tracked for compliance/reporting purposes.

Enum: "FAMILY_SUPPORT" "EDUCATION" "GIFT_AND_DONATION" "MEDICAL_TREATMENT" "MAINTENANCE_EXPENSES" "TRAVEL" "OTHER"
object (Amounts)

Amounts which make up the transaction. Absent amounts have zero value.

Array of objects (PaymentMethod)

An array of payment methods to be used as payment for the transaction. This is used if payment is not tendered at the point of sale, but is effected through one or more calls to third party payment providers as part of the request. A PaymentMethod differs from a Tender in that the former represents payment that still needs to be collected from a third party, whereas the latter represents payment that has already been collected at the point of sale.

recipientRelationship
string

The recipientRelationship between the sender and recipient of the money transfer. This may be tracked for compliance/reporting purposes.

Enum: "PARENT" "CHILD" "SPOUSE" "IN_LAWS" "RELATIVE" "FRIEND_FAMILY" "EMPLOYEE_FAMILY" "FRIEND" "EMPLOYEE" "SUPPLIER" "SERVICE_PROVIDER" "DONOR_RECEIVER_OF_CHARITABLE_FUNDS" "TRADE_BUSINESS_PARTNER"
Responses
200

successful operation

201

Created

400

Bad request

500

Internal Server Error

501

Not implemented

503

Service Unavailable

504

Gateway Timeout

post/orders
Request samples
application/json
{
  • "transactionLabels": [
    ],
  • "id": "string",
  • "time": "2019-08-24T14:15:22Z",
  • "originator": {
    },
  • "client": {
    },
  • "settlementEntity": {
    },
  • "receiver": {
    },
  • "thirdPartyIdentifiers": [
    ],
  • "slipData": {
    },
  • "basketRef": "string",
  • "tranType": "GOODS_AND_SERVICES",
  • "srcAccType": "DEFAULT",
  • "destAccType": "DEFAULT",
  • "stan": "string",
  • "rrn": "string",
  • "amount": {
    },
  • "senderDetails": {
    },
  • "recipientDetails": {
    },
  • "pin": {
    },
  • "customerProfileId": "string",
  • "newCustomer": false,
  • "fee": {
    },
  • "quoteId": "string",
  • "purposeOfRemittance": "FAMILY_SUPPORT",
  • "amounts": {
    },
  • "paymentMethods": [
    ],
  • "recipientRelationship": "PARENT"
}
Response samples
application/json
{
  • "transactionLabels": [
    ],
  • "id": "string",
  • "time": "2019-08-24T14:15:22Z",
  • "originator": {
    },
  • "client": {
    },
  • "settlementEntity": {
    },
  • "receiver": {
    },
  • "thirdPartyIdentifiers": [
    ],
  • "slipData": {
    },
  • "basketRef": "string",
  • "tranType": "GOODS_AND_SERVICES",
  • "srcAccType": "DEFAULT",
  • "destAccType": "DEFAULT",
  • "stan": "string",
  • "rrn": "string",
  • "amount": {
    },
  • "senderDetails": {
    },
  • "orderRedeemRef": "string",
  • "orderRedeemRefAlt": "string",
  • "orderId": "string",
  • "customerProfileId": "string",
  • "amounts": {
    }
}
Copyright © Electrum Payments (Pty) Ltd. 2019-2022. All right reserved.