| Requires any of the roles: | Admin, TeamAdmin, MobileApp | Requires the permission: | ReadData |
| POST | /cardTokens/saveCard3DS |
|---|
import 'package:servicestack/servicestack.dart';
class SaveCreditCardWith3DSResult implements IConvertible
{
int? statusCode;
bool? success;
String? message;
String? token;
bool? challengeRequired;
String? acsForm;
String? sessionId;
SaveCreditCardWith3DSResult({this.statusCode,this.success,this.message,this.token,this.challengeRequired,this.acsForm,this.sessionId});
SaveCreditCardWith3DSResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
statusCode = json['statusCode'];
success = json['success'];
message = json['message'];
token = json['token'];
challengeRequired = json['challengeRequired'];
acsForm = json['acsForm'];
sessionId = json['sessionId'];
return this;
}
Map<String, dynamic> toJson() => {
'statusCode': statusCode,
'success': success,
'message': message,
'token': token,
'challengeRequired': challengeRequired,
'acsForm': acsForm,
'sessionId': sessionId
};
getTypeName() => "SaveCreditCardWith3DSResult";
TypeContext? context = _ctx;
}
class RequestSignature implements IConvertible
{
String? systemId;
String? systemSecret;
String? signature;
RequestSignature({this.systemId,this.systemSecret,this.signature});
RequestSignature.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
systemId = json['systemId'];
systemSecret = json['systemSecret'];
signature = json['signature'];
return this;
}
Map<String, dynamic> toJson() => {
'systemId': systemId,
'systemSecret': systemSecret,
'signature': signature
};
getTypeName() => "RequestSignature";
TypeContext? context = _ctx;
}
class SaveCreditCardWith3DSRequest implements IConvertible
{
String? pan;
String? expYear;
String? expMonth;
String? cvc;
String? phoneVerificationNumber;
String? deviceId;
String? termURL;
RequestSignature? signature;
SaveCreditCardWith3DSRequest({this.pan,this.expYear,this.expMonth,this.cvc,this.phoneVerificationNumber,this.deviceId,this.termURL,this.signature});
SaveCreditCardWith3DSRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
pan = json['pan'];
expYear = json['expYear'];
expMonth = json['expMonth'];
cvc = json['cvc'];
phoneVerificationNumber = json['phoneVerificationNumber'];
deviceId = json['deviceId'];
termURL = json['termURL'];
signature = JsonConverters.fromJson(json['signature'],'RequestSignature',context!);
return this;
}
Map<String, dynamic> toJson() => {
'pan': pan,
'expYear': expYear,
'expMonth': expMonth,
'cvc': cvc,
'phoneVerificationNumber': phoneVerificationNumber,
'deviceId': deviceId,
'termURL': termURL,
'signature': JsonConverters.toJson(signature,'RequestSignature',context!)
};
getTypeName() => "SaveCreditCardWith3DSRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
'SaveCreditCardWith3DSResult': TypeInfo(TypeOf.Class, create:() => SaveCreditCardWith3DSResult()),
'RequestSignature': TypeInfo(TypeOf.Class, create:() => RequestSignature()),
'SaveCreditCardWith3DSRequest': TypeInfo(TypeOf.Class, create:() => SaveCreditCardWith3DSRequest()),
});
Dart SaveCreditCardWith3DSRequest 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 /cardTokens/saveCard3DS HTTP/1.1
Host: stubbur-app.azurewebsites.net
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"pan":"String","expYear":"String","expMonth":"String","cvc":"String","phoneVerificationNumber":"String","deviceId":"String","termURL":"String","signature":{"systemId":"String","systemSecret":"String","signature":"String"}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"statusCode":0,"success":false,"message":"String","token":"String","challengeRequired":false,"acsForm":"String","sessionId":"String"}