| POST | /transferTicket/payTopupWith3DSecure | Charge the customer the topup diff via Borgun 3DS and complete the topup |
|---|
import 'package:servicestack/servicestack.dart';
class PayTopupWith3DSecureResult implements IConvertible
{
bool? ok;
int? statusCode;
String? code;
String? message;
int? transferLogId;
String? status;
String? newTicketTokenId;
String? paymentReference;
String? authCode;
String? lastFourDigits;
double? amountIsk;
PayTopupWith3DSecureResult({this.ok,this.statusCode,this.code,this.message,this.transferLogId,this.status,this.newTicketTokenId,this.paymentReference,this.authCode,this.lastFourDigits,this.amountIsk});
PayTopupWith3DSecureResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ok = json['ok'];
statusCode = json['statusCode'];
code = json['code'];
message = json['message'];
transferLogId = json['transferLogId'];
status = json['status'];
newTicketTokenId = json['newTicketTokenId'];
paymentReference = json['paymentReference'];
authCode = json['authCode'];
lastFourDigits = json['lastFourDigits'];
amountIsk = JsonConverters.toDouble(json['amountIsk']);
return this;
}
Map<String, dynamic> toJson() => {
'ok': ok,
'statusCode': statusCode,
'code': code,
'message': message,
'transferLogId': transferLogId,
'status': status,
'newTicketTokenId': newTicketTokenId,
'paymentReference': paymentReference,
'authCode': authCode,
'lastFourDigits': lastFourDigits,
'amountIsk': amountIsk
};
getTypeName() => "PayTopupWith3DSecureResult";
TypeContext? context = _ctx;
}
class PayTopupWith3DSecureRequest implements IConvertible
{
String? sessionToken;
String? borgunCardToken;
String? borgunMpiToken;
int? amountMinor;
String? currency;
String? paymentPhoneNumber;
PayTopupWith3DSecureRequest({this.sessionToken,this.borgunCardToken,this.borgunMpiToken,this.amountMinor,this.currency,this.paymentPhoneNumber});
PayTopupWith3DSecureRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
sessionToken = json['sessionToken'];
borgunCardToken = json['borgunCardToken'];
borgunMpiToken = json['borgunMpiToken'];
amountMinor = json['amountMinor'];
currency = json['currency'];
paymentPhoneNumber = json['paymentPhoneNumber'];
return this;
}
Map<String, dynamic> toJson() => {
'sessionToken': sessionToken,
'borgunCardToken': borgunCardToken,
'borgunMpiToken': borgunMpiToken,
'amountMinor': amountMinor,
'currency': currency,
'paymentPhoneNumber': paymentPhoneNumber
};
getTypeName() => "PayTopupWith3DSecureRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
'PayTopupWith3DSecureResult': TypeInfo(TypeOf.Class, create:() => PayTopupWith3DSecureResult()),
'PayTopupWith3DSecureRequest': TypeInfo(TypeOf.Class, create:() => PayTopupWith3DSecureRequest()),
});
Dart PayTopupWith3DSecureRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /transferTicket/payTopupWith3DSecure HTTP/1.1
Host: stubbur-app.azurewebsites.net
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"sessionToken":"String","borgunCardToken":"String","borgunMpiToken":"String","amountMinor":0,"currency":"String","paymentPhoneNumber":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"ok":false,"statusCode":0,"code":"String","message":"String","transferLogId":0,"status":"String","newTicketTokenId":"String","paymentReference":"String","authCode":"String","lastFourDigits":"String","amountIsk":0}