Billhighway Cloud API

<back to all web services

CreateCardRef

The following routes are available for this service:
POST/api/creditcard/createcardrefCreates, 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 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 CreditCardCloudServiceResponse(IHaveErrorField):
    is_duplicate: Optional[bool] = None
    is_successful: Optional[bool] = None
    error_code: Optional[str] = None
    message: Optional[str] = None
    gateway_id: Optional[int] = None
    confirmation_number: Optional[str] = None
    network_transaction_id: Optional[str] = None
    is_error: Optional[bool] = None


class CreditCardType(IntEnum):
    AMERICAN_EXPRESS = 0
    DISCOVER = 1
    MASTER_CARD = 2
    VISA = 3
    DINERS_CLUB = 4
    DINERS_CART_BLANCHE = 5
    UNKNOWN = 6


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CreateCardRefResponse(CreditCardCloudServiceResponse):
    card_ref: Optional[str] = None
    card_type: Optional[CreditCardType] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CreateCardRef(CreateCardRef):
    pass

Python CreateCardRef 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

HTTP + JSON

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: application/json
Content-Type: application/json
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: application/json
Content-Length: length

{"CardRef":"String","CardType":0,"IsDuplicate":false,"IsSuccessful":false,"ErrorCode":"String","Message":"String","GatewayId":0,"ConfirmationNumber":"String","NetworkTransactionId":"String","IsError":true}