| 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. |
|---|
import java.math.*
import java.util.*
import net.servicestack.client.*
open class CreateCardRef : CreateCardRef()
{
}
open class CreateCardRefResponse : CreditCardCloudServiceResponse()
{
var CardRef:String? = null
var CardType:CreditCardType? = null
}
open class CreditCardCloudServiceResponse : IHaveErrorField
{
var IsDuplicate:Boolean? = null
var IsSuccessful:Boolean? = null
var ErrorCode:String? = null
var Message:String? = null
var GatewayId:Int? = null
var ConfirmationNumber:String? = null
var NetworkTransactionId:String? = null
var IsError:Boolean? = null
}
enum class CreditCardType(val value:Int)
{
@SerializedName("0") AmericanExpress(0),
@SerializedName("1") Discover(1),
@SerializedName("2") MasterCard(2),
@SerializedName("3") Visa(3),
@SerializedName("4") DinersClub(4),
@SerializedName("5") DinersCartBlanche(5),
@SerializedName("6") Unknown(6),
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
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/csv
Content-Type: text/csv
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/csv
Content-Length: length
{"CardRef":"String","CardType":0,"IsDuplicate":false,"IsSuccessful":false,"ErrorCode":"String","Message":"String","GatewayId":0,"ConfirmationNumber":"String","NetworkTransactionId":"String","IsError":true}