TicketUserServices

<back to all web services

SaveCreditCardWith3DSRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdmin, MobileAppRequires the permission:ReadData
The following routes are available for this service:
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 .xml suffix or ?format=xml

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<SaveCreditCardWith3DSRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel">
  <CVC>String</CVC>
  <DeviceId>String</DeviceId>
  <ExpMonth>String</ExpMonth>
  <ExpYear>String</ExpYear>
  <PAN>String</PAN>
  <PhoneVerificationNumber>String</PhoneVerificationNumber>
  <Signature>
    <Signature>String</Signature>
    <SystemId>String</SystemId>
    <SystemSecret>String</SystemSecret>
  </Signature>
  <TermURL>String</TermURL>
</SaveCreditCardWith3DSRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<SaveCreditCardWith3DSResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TicketUserServices.ServiceModel">
  <ACSForm>String</ACSForm>
  <ChallengeRequired>false</ChallengeRequired>
  <Message>String</Message>
  <SessionId>String</SessionId>
  <StatusCode>0</StatusCode>
  <Success>false</Success>
  <Token>String</Token>
</SaveCreditCardWith3DSResult>