| POST | /api/creditcard/createcardref | Creates, records and returns a 'cardRef' | Creates, records and returns a 'reference' to a credit card. This so called 'cardRef' can then be usedas an alternative value to pass to other credit card transactions such as Verfy or Sale potentially improving securityby not passing card numbers. |
|---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using BH.CloudAPI.Common4.DTO;
using BH.CloudAPI.Common.DTO;
namespace BH.CloudAPI.Common.DTO
{
public partial class CreateCardRefResponse
: CreditCardCloudServiceResponse
{
public virtual string CardRef { get; set; }
public virtual CreditCardType CardType { get; set; }
}
public partial class CreditCardCloudServiceResponse
: IHaveErrorField
{
public virtual bool IsDuplicate { get; set; }
public virtual bool IsSuccessful { get; set; }
public virtual string ErrorCode { get; set; }
public virtual string Message { get; set; }
public virtual int? GatewayId { get; set; }
public virtual string ConfirmationNumber { get; set; }
public virtual string NetworkTransactionId { get; set; }
public virtual bool IsError { get; set; }
}
public enum CreditCardType
{
AmericanExpress = 0,
Discover = 1,
MasterCard = 2,
Visa = 3,
DinersClub = 4,
DinersCartBlanche = 5,
Unknown = 6,
}
}
namespace BH.CloudAPI.Common4.DTO
{
public partial class CreateCardRef
: CreateCardRef
{
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/creditcard/createcardref HTTP/1.1
Host: devapi.billhighway.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
UserId: 0,
GroupId: 0,
Location: String,
CurrencyCode: String,
CardType: 0,
NameOnCard: String,
CardNumber: String,
ExpirationMonth: 0,
ExpirationYear: 0,
ValidationNum: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
CardRef: String,
CardType: 0,
IsDuplicate: False,
IsSuccessful: False,
ErrorCode: String,
Message: String,
GatewayId: 0,
ConfirmationNumber: String,
NetworkTransactionId: String,
IsError: True
}