POST | /CreateCardToken |
---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Paysecure.ServiceModel;
using Paysecure.ServiceModel.Types;
namespace Paysecure.ServiceModel
{
[DataContract]
public partial class CreateCardToken
: PaysecureResponseInternal
{
[DataMember]
public virtual string CardToken { get; set; }
[DataMember]
public virtual string CardZip { get; set; }
[DataMember]
public virtual string CardLast4 { get; set; }
[DataMember]
public virtual string CardExpiration { get; set; }
[DataMember]
public virtual string CVN { get; set; }
[DataMember]
public virtual string AVS { get; set; }
[DataMember]
public virtual BINResults BINResults { get; set; }
[DataMember]
public virtual string ResponseCode { get; set; }
[DataMember]
public virtual string ErrorMessage { get; set; }
[DataMember]
public virtual string ErrorCode { get; set; }
[DataMember(EmitDefaultValue=false)]
public virtual ExtendedResponse ExtendedData { get; set; }
}
[DataContract]
public partial class CreateCardTokenRequest
{
[DataMember]
public virtual RequestorCredentials Credentials { get; set; }
[DataMember]
public virtual string SessionId { get; set; }
[DataMember]
public virtual bool VerifyCard { get; set; }
}
}
namespace Paysecure.ServiceModel.Types
{
public partial class BINResults
{
public virtual string BIN { get; set; }
public virtual string Network { get; set; }
public virtual bool InternetPinDebit { get; set; }
public virtual bool EcomEBTCash { get; set; }
public virtual bool EcomEBTSNAP { get; set; }
public virtual bool POSFlag { get; set; }
public virtual bool PinlessEcommerce { get; set; }
public virtual bool PinlessBillPay { get; set; }
public virtual bool OnDemandPaymentCredit { get; set; }
public virtual bool OnDemandPaymentDebit { get; set; }
public virtual bool PinlessA2ACredit { get; set; }
public virtual bool PinlessA2ADebit { get; set; }
public virtual bool PinlessPrePaidLoad { get; set; }
public virtual bool DualMessage { get; set; }
public virtual bool Recurring { get; set; }
public virtual bool CardVerify { get; set; }
public virtual bool RegulatedFlag { get; set; }
public virtual bool OTP { get; set; }
public virtual bool POSPinlessDualMessage { get; set; }
public virtual string FastFunds { get; set; }
public virtual bool RegulatedWithFraud { get; set; }
public virtual string CountryCode { get; set; }
public virtual string CardType { get; set; }
public virtual string CardProduct { get; set; }
public virtual string CardDesignation { get; set; }
public virtual string CardSubCategory { get; set; }
public virtual bool IncrementalAuth { get; set; }
}
public partial class CardAccountUpdaterDescriptor
{
public virtual CardInfoType CardDataType { get; set; }
public virtual string CardNumberInfo { get; set; }
public virtual string ExpiryDate { get; set; }
public virtual string Status { get; set; }
public virtual string ErrorCode { get; set; }
public virtual string CardToken { get; set; }
}
public enum CardInfoType
{
CardNumber,
Token,
Track,
EMV,
Encrypted,
DPAN,
ApplePay,
GooglePay,
SamsungPay,
CPToken,
EncryptedEnhanced,
EncryptedJWE,
}
[DataContract]
public partial class ExtendedResponse
{
[DataMember(EmitDefaultValue=false)]
public virtual CardAccountUpdaterDescriptor CardAccountUpdater { get; set; }
[DataMember(EmitDefaultValue=false)]
public virtual string ProductId { get; set; }
[DataMember(EmitDefaultValue=false)]
public virtual string NetworkResponseCode { get; set; }
[DataMember(EmitDefaultValue=false)]
public virtual string NetworkTransactionId { get; set; }
[DataMember(EmitDefaultValue=false)]
public virtual string CHEmailAddrResult { get; set; }
}
[DataContract]
public partial class InOutTimes
{
}
[DataContract]
public partial class PaysecureResponseInternal
{
[DataMember(EmitDefaultValue=false)]
public virtual RequestTimestamps Timestamps { get; set; }
}
public partial class RequestorCredentials
{
[Required]
public virtual string MerchantId { get; set; }
[Required]
public virtual string UserName { get; set; }
[Required]
public virtual string Password { get; set; }
[Required]
public virtual string Version { get; set; }
}
[DataContract]
public partial class RequestTimestamps
{
[DataMember(EmitDefaultValue=false)]
public virtual InOutTimes AppLayer { get; set; }
[DataMember(EmitDefaultValue=false)]
public virtual InOutTimes ParentLookup { get; set; }
[DataMember(EmitDefaultValue=false)]
public virtual InOutTimes RetryLookup { get; set; }
[DataMember(EmitDefaultValue=false)]
public virtual InOutTimes GetCardData { get; set; }
[DataMember(EmitDefaultValue=false)]
public virtual InOutTimes CardTokenize { get; set; }
[DataMember(EmitDefaultValue=false)]
public virtual InOutTimes CardEncrypt { get; set; }
[DataMember(EmitDefaultValue=false)]
public virtual InOutTimes DBInsert { get; set; }
[DataMember(EmitDefaultValue=false)]
public virtual InOutTimes BackendProcess { get; set; }
[DataMember(EmitDefaultValue=false)]
public virtual InOutTimes DBUpdate { get; set; }
[DataMember(EmitDefaultValue=false)]
public virtual InOutTimes ParentUpdate { get; set; }
[DataMember(EmitDefaultValue=false)]
public virtual InOutTimes Network { get; set; }
}
}
C# CreateCardTokenRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /CreateCardToken HTTP/1.1
Host: api.paysecure.acculynk.net
Accept: application/json
Content-Type: application/json
Content-Length: length
{"Credentials":{"MerchantId":"String","UserName":"String","Password":"String","Version":"String"},"SessionId":"String","VerifyCard":false}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"CardToken":"String","CardZip":"String","CardLast4":"String","CardExpiration":"String","CVN":"String","AVS":"String","BINResults":{"BIN":"String","Network":"String","InternetPinDebit":false,"EcomEBTCash":false,"EcomEBTSNAP":false,"POSFlag":false,"PinlessEcommerce":false,"PinlessBillPay":false,"OnDemandPaymentCredit":false,"OnDemandPaymentDebit":false,"PinlessA2ACredit":false,"PinlessA2ADebit":false,"PinlessPrePaidLoad":false,"DualMessage":false,"Recurring":false,"CardVerify":false,"RegulatedFlag":false,"OTP":false,"POSPinlessDualMessage":false,"FastFunds":"String","RegulatedWithFraud":false,"CountryCode":"String","CardType":"String","CardProduct":"String","CardDesignation":"String","CardSubCategory":"String","IncrementalAuth":false},"ResponseCode":"String","ErrorMessage":"String","ErrorCode":"String","ExtendedData":{"CardAccountUpdater":{"CardDataType":"CardNumber","CardNumberInfo":"String","ExpiryDate":"String","Status":"String","ErrorCode":"String","CardToken":"String"},"ProductId":"String","NetworkResponseCode":"String","NetworkTransactionId":"String","CHEmailAddrResult":"String"},"Timestamps":{"AppLayer":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"ParentLookup":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"RetryLookup":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"GetCardData":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"CardTokenize":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"CardEncrypt":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"DBInsert":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"BackendProcess":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"DBUpdate":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"ParentUpdate":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"Network":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"}}}