Billhighway Cloud API

<back to all web services

GetDonation

The following routes are available for this service:
GET/v1.1/Donations/Get/{id}
GET/v1.2/Donations/Get/{id}
import 'package:servicestack/servicestack.dart';

class CreditCardUsed implements IConvertible
{
    String? CardHolderName;
    String? Icon;
    String? CaptureSource;
    String? Last4Digits;
    String? Type;

    CreditCardUsed({this.CardHolderName,this.Icon,this.CaptureSource,this.Last4Digits,this.Type});
    CreditCardUsed.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CardHolderName = json['CardHolderName'];
        Icon = json['Icon'];
        CaptureSource = json['CaptureSource'];
        Last4Digits = json['Last4Digits'];
        Type = json['Type'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CardHolderName': CardHolderName,
        'Icon': Icon,
        'CaptureSource': CaptureSource,
        'Last4Digits': Last4Digits,
        'Type': Type
    };

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

class DonationLocation implements IConvertible
{
    double? Longitude;
    double? Latitude;

    DonationLocation({this.Longitude,this.Latitude});
    DonationLocation.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Longitude = JsonConverters.toDouble(json['Longitude']);
        Latitude = JsonConverters.toDouble(json['Latitude']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Longitude': Longitude,
        'Latitude': Latitude
    };

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

class DonationTransaction implements IConvertible
{
    int? Id;
    String? Status;
    String? DetailUri;
    String? CancelUri;
    int? CreatedBy;
    int? ClientId;
    int? GroupId;

    DonationTransaction({this.Id,this.Status,this.DetailUri,this.CancelUri,this.CreatedBy,this.ClientId,this.GroupId});
    DonationTransaction.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Status = json['Status'];
        DetailUri = json['DetailUri'];
        CancelUri = json['CancelUri'];
        CreatedBy = json['CreatedBy'];
        ClientId = json['ClientId'];
        GroupId = json['GroupId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Status': Status,
        'DetailUri': DetailUri,
        'CancelUri': CancelUri,
        'CreatedBy': CreatedBy,
        'ClientId': ClientId,
        'GroupId': GroupId
    };

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

class DonationReceiptsResponse implements IConvertible
{
    int? Id;
    String? Status;
    String? CampaignName;
    int? CampaignId;
    String? Date;
    double? Amount;
    CreditCardUsed? CreditCard;
    DonationLocation? Location;
    DonationTransaction? Transaction;

    DonationReceiptsResponse({this.Id,this.Status,this.CampaignName,this.CampaignId,this.Date,this.Amount,this.CreditCard,this.Location,this.Transaction});
    DonationReceiptsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Status = json['Status'];
        CampaignName = json['CampaignName'];
        CampaignId = json['CampaignId'];
        Date = json['Date'];
        Amount = JsonConverters.toDouble(json['Amount']);
        CreditCard = JsonConverters.fromJson(json['CreditCard'],'CreditCardUsed',context!);
        Location = JsonConverters.fromJson(json['Location'],'DonationLocation',context!);
        Transaction = JsonConverters.fromJson(json['Transaction'],'DonationTransaction',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Status': Status,
        'CampaignName': CampaignName,
        'CampaignId': CampaignId,
        'Date': Date,
        'Amount': Amount,
        'CreditCard': JsonConverters.toJson(CreditCard,'CreditCardUsed',context!),
        'Location': JsonConverters.toJson(Location,'DonationLocation',context!),
        'Transaction': JsonConverters.toJson(Transaction,'DonationTransaction',context!)
    };

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

class GetDonation extends GetDonation implements IReturnLegacyException, IConvertible
{
    GetDonation();
    GetDonation.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "GetDonation";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'devapi.billhighway.com', types: <String, TypeInfo> {
    'CreditCardUsed': TypeInfo(TypeOf.Class, create:() => CreditCardUsed()),
    'DonationLocation': TypeInfo(TypeOf.Class, create:() => DonationLocation()),
    'DonationTransaction': TypeInfo(TypeOf.Class, create:() => DonationTransaction()),
    'DonationReceiptsResponse': TypeInfo(TypeOf.Class, create:() => DonationReceiptsResponse()),
    'GetDonation': TypeInfo(TypeOf.Class, create:() => GetDonation()),
});

Dart GetDonation 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.

GET /v1.1/Donations/Get/{id} HTTP/1.1 
Host: devapi.billhighway.com 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Id":0,"Status":"String","CampaignName":"String","CampaignId":0,"Date":"String","Amount":0,"CreditCard":{"CardHolderName":"String","Icon":"String","CaptureSource":"String","Last4Digits":"String","Type":"String"},"Location":{"Longitude":0,"Latitude":0},"Transaction":{"Id":0,"Status":"String","DetailUri":"String","CancelUri":"String","CreatedBy":0,"ClientId":0,"GroupId":0}}