TicketUserServices

<back to all web services

BorgunServices3DEnrollmentRequest

Requires Authentication
Requires the role:AdminRequires the permission:ReadData
The following routes are available for this service:
POST/borgunServices/3DEnrollment3DEnrollment
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BorgunMPIEnrollmentACSField:
    name: Optional[str] = None
    values: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Borgun3DEnrollmentResponse:
    result_status: Optional[int] = None
    message_id: Optional[str] = None
    enrollment_status: Optional[str] = None
    md_error_message: Optional[str] = None
    md_status: Optional[str] = None
    redirect_to_a_c_s_form: Optional[str] = None
    md: Optional[str] = None
    mpi_token: Optional[str] = None
    redirect_to_a_c_s_d_ata: Optional[List[BorgunMPIEnrollmentACSField]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BorgunServices3DEnrollmentResponse:
    response: Optional[Borgun3DEnrollmentResponse] = None
    success: Optional[bool] = None
    http_status_code: Optional[int] = None
    message: Optional[str] = None


class BorgunPaymentTypes(IntEnum):
    UNKNOWN = 1
    CARD = 2
    TOKEN_SINGLE = 3
    TOKEN_MULTI = 4


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BorgunPaymentRequestMethod:
    payment_type: Optional[BorgunPaymentTypes] = None
    pan: Optional[str] = None
    exp_year: Optional[str] = None
    exp_month: Optional[str] = None
    cv_c2: Optional[str] = None
    token: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Borgun3DEnrollmentRequest:
    card_details: Optional[BorgunPaymentRequestMethod] = None
    purch_amount: Optional[int] = None
    exponent: Optional[int] = None
    currency: Optional[str] = None
    term_u_r_l: Optional[str] = None
    transaction_date: Optional[datetime.datetime] = None
    md: Optional[str] = None
    description: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BorgunServices3DEnrollmentRequest:
    request: Optional[Borgun3DEnrollmentRequest] = None
    status_code: Optional[int] = None
    message: Optional[str] = None

Python BorgunServices3DEnrollmentRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /borgunServices/3DEnrollment HTTP/1.1 
Host: stubbur-autoupdates-live.smartnewapis.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	request: 
	{
		cardDetails: 
		{
			paymentType: Unknown,
			pan: String,
			expYear: String,
			expMonth: String,
			cvC2: String,
			token: String
		},
		purchAmount: 0,
		exponent: 0,
		currency: String,
		termURL: String,
		transactionDate: 0001-01-01,
		md: String,
		description: String
	},
	statusCode: 0,
	message: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	response: 
	{
		resultStatus: 0,
		messageId: String,
		enrollmentStatus: String,
		mdErrorMessage: String,
		mdStatus: String,
		redirectToACSForm: String,
		md: String,
		mpiToken: String,
		redirectToACSDAta: 
		[
			{
				name: String,
				values: String
			}
		]
	},
	success: False,
	httpStatusCode: 0,
	message: String
}