"use strict";
export class ResponseBase {
/** @param {{Status?:boolean,Message?:string,Errors?:{ [index:string]: string[]; }}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {boolean} */
Status;
/** @type {string} */
Message;
/** @type {{ [index:string]: string[]; }} */
Errors;
}
export class InitialisePaymentResponse extends ResponseBase {
/** @param {{TransactionId?:string,Signature?:string,Url?:string,Status?:boolean,Message?:string,Errors?:{ [index:string]: string[]; }}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {string} */
TransactionId;
/** @type {string} */
Signature;
/** @type {string} */
Url;
}
/** @typedef {number} */
export var PaymentTypeEnum;
(function (PaymentTypeEnum) {
PaymentTypeEnum[PaymentTypeEnum["OneTime"] = 1] = "OneTime"
PaymentTypeEnum[PaymentTypeEnum["Recurring"] = 2] = "Recurring"
})(PaymentTypeEnum || (PaymentTypeEnum = {}));
/** @typedef {number} */
export var FrequencyEnum;
(function (FrequencyEnum) {
FrequencyEnum[FrequencyEnum["Daily"] = 1] = "Daily"
FrequencyEnum[FrequencyEnum["Weekly"] = 2] = "Weekly"
FrequencyEnum[FrequencyEnum["Monthly"] = 3] = "Monthly"
FrequencyEnum[FrequencyEnum["Quarterly"] = 4] = "Quarterly"
FrequencyEnum[FrequencyEnum["Biannually"] = 5] = "Biannually"
FrequencyEnum[FrequencyEnum["Annually"] = 6] = "Annually"
})(FrequencyEnum || (FrequencyEnum = {}));
export class InitialisePaymentRequest {
/** @param {{PaymentType?:PaymentTypeEnum,Uuid?:string,ReferenceNumber?:string,Amount?:number,Currency?:string,ItemName?:string,ItemDescription?:string,BillingDate?:string,Frequency?:FrequencyEnum,Cycles?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {PaymentTypeEnum} */
PaymentType;
/** @type {string} */
Uuid;
/** @type {string} */
ReferenceNumber;
/** @type {number} */
Amount;
/** @type {string} */
Currency;
/** @type {string} */
ItemName;
/** @type {string} */
ItemDescription;
/** @type {string} */
BillingDate;
/** @type {FrequencyEnum} */
Frequency;
/** @type {number} */
Cycles;
}
JavaScript InitialisePaymentRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/InitialisePaymentRequest HTTP/1.1
Host: duengageapi.uat.scadsoftware.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
PaymentType: OneTime,
Uuid: 00000000000000000000000000000000,
ReferenceNumber: String,
Amount: 0,
Currency: String,
ItemName: String,
ItemDescription: String,
BillingDate: 0001-01-01,
Frequency: Daily,
Cycles: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
TransactionId: String,
Signature: String,
Url: String,
Status: False,
Message: String,
Errors:
{
String:
[
String
]
}
}