Billhighway Cloud API

<back to all web services

StoredAccount

The following routes are available for this service:
POST/api/SalesForce/StoredAccount/
POST/members/storedaccount/creditcard
import 'package:servicestack/servicestack.dart';

class BaseClass implements IConvertible
{
    String? ClassName;
    String? UniqueId;
    DateTime? CreatedDateTime;
    int? Version;

    BaseClass({this.ClassName,this.UniqueId,this.CreatedDateTime,this.Version});
    BaseClass.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ClassName = json['ClassName'];
        UniqueId = json['UniqueId'];
        CreatedDateTime = JsonConverters.fromJson(json['CreatedDateTime'],'DateTime',context!);
        Version = json['Version'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ClassName': ClassName,
        'UniqueId': UniqueId,
        'CreatedDateTime': JsonConverters.toJson(CreatedDateTime,'DateTime',context!),
        'Version': Version
    };

    getTypeName() => "BaseClass";
    TypeContext? context = _ctx;
}

class StoredAccount extends BaseClass implements IConvertible
{
    int? ClientId;
    String? ClientGroupId;
    String? ClientUserId;
    int? BhUserId;

    StoredAccount({this.ClientId,this.ClientGroupId,this.ClientUserId,this.BhUserId});
    StoredAccount.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        ClientId = json['ClientId'];
        ClientGroupId = json['ClientGroupId'];
        ClientUserId = json['ClientUserId'];
        BhUserId = json['BhUserId'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'ClientId': ClientId,
        'ClientGroupId': ClientGroupId,
        'ClientUserId': ClientUserId,
        'BhUserId': BhUserId
    });

    getTypeName() => "StoredAccount";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'devapi.billhighway.com', types: <String, TypeInfo> {
    'BaseClass': TypeInfo(TypeOf.Class, create:() => BaseClass()),
    'StoredAccount': TypeInfo(TypeOf.Class, create:() => StoredAccount()),
});

Dart StoredAccount 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 /api/SalesForce/StoredAccount/ HTTP/1.1 
Host: devapi.billhighway.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ClientId: 0,
	ClientGroupId: String,
	ClientUserId: String,
	BhUserId: 0,
	ClassName: String,
	UniqueId: String,
	CreatedDateTime: 0001-01-01,
	Version: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

[
	{
		StoredAccountId: 0,
		NameOnCard: String,
		ClientId: 0,
		GroupId: String,
		ClientUserId: String,
		BhUserId: 0,
		CardNumber: String,
		ExpMonth: 0,
		ExpYear: 0,
		Cvv: String,
		CardType: String,
		BillingAddress: String,
		BillingCity: String,
		BillingState: String,
		BillingPostalCode: String,
		BillingCountry: String,
		ErrorCode: String,
		Message: String,
		ClassName: String,
		UniqueId: String,
		CreatedDateTime: 0001-01-01,
		Version: 0
	}
]