PaySecure Pinless Web Services 2023:07:03:07

<back to all web services

PSBINCheckRequest

The following routes are available for this service:
POST/PSBINCheck
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 PSBINCheck
        : PaysecureVersion
    {
        [DataMember]
        public virtual string BIN { get; set; }

        [DataMember]
        public virtual bool InternetPinDebit { get; set; }

        [DataMember]
        public virtual bool EcomEBTSNAP { get; set; }

        [DataMember]
        public virtual bool EcomEBTCash { get; set; }

        [DataMember]
        public virtual bool POSFlag { get; set; }

        [DataMember]
        public virtual bool PinlessEcommerce { get; set; }

        [DataMember]
        public virtual bool PinlessBillPay { get; set; }

        [DataMember]
        public virtual bool OnDemandPaymentCredit { get; set; }

        [DataMember]
        public virtual bool OnDemandPaymentDebit { get; set; }

        [DataMember]
        public virtual bool PinlessA2ACredit { get; set; }

        [DataMember]
        public virtual bool PinlessA2ADebit { get; set; }

        [DataMember]
        public virtual bool PinlessPrePaidLoad { get; set; }

        [DataMember]
        public virtual bool DualMessage { get; set; }

        [DataMember]
        public virtual bool Recurring { get; set; }

        [DataMember]
        public virtual bool CardVerify { get; set; }

        [DataMember]
        public virtual bool POSPinlessDualMessageFlag { get; set; }

        [DataMember]
        public virtual string ErrorMessage { get; set; }

        [DataMember]
        public virtual string ErrorCode { get; set; }

        [DataMember]
        public virtual bool OTP { get; set; }

        [DataMember]
        public virtual string FastFunds { get; set; }

        [DataMember]
        public virtual bool IncrementalAuth { get; set; }

        [DataMember]
        public virtual bool WIC { get; set; }

        [DataMember]
        public virtual string CardDesignation { get; set; }
    }

    [DataContract]
    public partial class PSBINCheckRequest
    {
        [DataMember]
        public virtual RequestorCredentials Credentials { get; set; }

        [DataMember]
        public virtual string BIN { get; set; }
    }

}

namespace Paysecure.ServiceModel.Types
{
    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; }
    }

    [DataContract]
    public partial class PaysecureVersion
        : PaysecureResponseInternal
    {
        [DataMember(EmitDefaultValue=false)]
        public virtual string LocalDateTime { get; set; }

        [DataMember(EmitDefaultValue=false)]
        public virtual string Token { get; set; }

        [DataMember(EmitDefaultValue=false)]
        public virtual ExtendedResponse ExtendedData { 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# PSBINCheckRequest 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 /PSBINCheck HTTP/1.1 
Host: api.paysecure.acculynk.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Credentials: 
	{
		MerchantId: String,
		UserName: String,
		Password: String,
		Version: String
	},
	BIN: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	BIN: String,
	InternetPinDebit: False,
	EcomEBTSNAP: False,
	EcomEBTCash: False,
	POSFlag: False,
	PinlessEcommerce: False,
	PinlessBillPay: False,
	OnDemandPaymentCredit: False,
	OnDemandPaymentDebit: False,
	PinlessA2ACredit: False,
	PinlessA2ADebit: False,
	PinlessPrePaidLoad: False,
	DualMessage: False,
	Recurring: False,
	CardVerify: False,
	POSPinlessDualMessageFlag: False,
	ErrorMessage: String,
	ErrorCode: String,
	OTP: False,
	FastFunds: String,
	IncrementalAuth: False,
	WIC: False,
	CardDesignation: String,
	LocalDateTime: String,
	Token: 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: 0001-01-01,
			OutTime: 0001-01-01
		},
		ParentLookup: 
		{
			InTime: 0001-01-01,
			OutTime: 0001-01-01
		},
		RetryLookup: 
		{
			InTime: 0001-01-01,
			OutTime: 0001-01-01
		},
		GetCardData: 
		{
			InTime: 0001-01-01,
			OutTime: 0001-01-01
		},
		CardTokenize: 
		{
			InTime: 0001-01-01,
			OutTime: 0001-01-01
		},
		CardEncrypt: 
		{
			InTime: 0001-01-01,
			OutTime: 0001-01-01
		},
		DBInsert: 
		{
			InTime: 0001-01-01,
			OutTime: 0001-01-01
		},
		BackendProcess: 
		{
			InTime: 0001-01-01,
			OutTime: 0001-01-01
		},
		DBUpdate: 
		{
			InTime: 0001-01-01,
			OutTime: 0001-01-01
		},
		ParentUpdate: 
		{
			InTime: 0001-01-01,
			OutTime: 0001-01-01
		},
		Network: 
		{
			InTime: 0001-01-01,
			OutTime: 0001-01-01
		}
	}
}