| POST | /api/SalesForce/AchPayment | Processes the ACH Payments. | Validates the input values and processes the ACH Payments. |
|---|---|---|---|
| POST | /payments/ach | Processes the ACH Payments. | Validates the input values and processes the ACH Payments. |
import 'package:servicestack/servicestack.dart';
class AchPaymentReply implements IHaveErrorField, IConvertible
{
String? ClassName;
String? UniqueId;
DateTime? CreatedDateTime;
int? ClientId;
String? TransactionId;
int? ErrorCode;
String? ErrorMessage;
// @ApiMember(ExcludeInSchema=true)
bool? IsError;
AchPaymentReply({this.ClassName,this.UniqueId,this.CreatedDateTime,this.ClientId,this.TransactionId,this.ErrorCode,this.ErrorMessage,this.IsError});
AchPaymentReply.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!);
ClientId = json['ClientId'];
TransactionId = json['TransactionId'];
ErrorCode = json['ErrorCode'];
ErrorMessage = json['ErrorMessage'];
IsError = json['IsError'];
return this;
}
Map<String, dynamic> toJson() => {
'ClassName': ClassName,
'UniqueId': UniqueId,
'CreatedDateTime': JsonConverters.toJson(CreatedDateTime,'DateTime',context!),
'ClientId': ClientId,
'TransactionId': TransactionId,
'ErrorCode': ErrorCode,
'ErrorMessage': ErrorMessage,
'IsError': IsError
};
getTypeName() => "AchPaymentReply";
TypeContext? context = _ctx;
}
class AchPaymentReplyCollection implements IConvertible
{
List<AchPaymentReply>? AchReplyCollection;
AchPaymentReplyCollection({this.AchReplyCollection});
AchPaymentReplyCollection.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
AchReplyCollection = JsonConverters.fromJson(json['AchReplyCollection'],'List<AchPaymentReply>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'AchReplyCollection': JsonConverters.toJson(AchReplyCollection,'List<AchPaymentReply>',context!)
};
getTypeName() => "AchPaymentReplyCollection";
TypeContext? context = _ctx;
}
class SalesForceMemberPaymentInvoiceDetail implements IConvertible
{
String? ClassName;
String? UniqueId;
DateTime? CreatedDateTime;
int? ClientId;
int? Invoice;
String? AmountPaid;
SalesForceMemberPaymentInvoiceDetail({this.ClassName,this.UniqueId,this.CreatedDateTime,this.ClientId,this.Invoice,this.AmountPaid});
SalesForceMemberPaymentInvoiceDetail.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!);
ClientId = json['ClientId'];
Invoice = json['Invoice'];
AmountPaid = json['AmountPaid'];
return this;
}
Map<String, dynamic> toJson() => {
'ClassName': ClassName,
'UniqueId': UniqueId,
'CreatedDateTime': JsonConverters.toJson(CreatedDateTime,'DateTime',context!),
'ClientId': ClientId,
'Invoice': Invoice,
'AmountPaid': AmountPaid
};
getTypeName() => "SalesForceMemberPaymentInvoiceDetail";
TypeContext? context = _ctx;
}
class AchPayment implements IConvertible
{
String? ClassName;
String? UniqueId;
DateTime? CreatedDateTime;
int? ClientId;
String? GroupId;
String? UserId;
int? BhUserId;
double? Amount;
String? CurrencyType;
String? Country;
String? RoutingNumber;
String? AccountNumber;
String? AchReference;
String? AccountType;
bool? IsSavingsAccount;
String? PayerName;
String? CheckNumber;
String? PreferredEmailAddress;
String? Memo;
List<SalesForceMemberPaymentInvoiceDetail>? InvoiceList;
bool? AutoPay;
bool? StoreAchInfo;
int? EncryptionTypeId;
AchPayment({this.ClassName,this.UniqueId,this.CreatedDateTime,this.ClientId,this.GroupId,this.UserId,this.BhUserId,this.Amount,this.CurrencyType,this.Country,this.RoutingNumber,this.AccountNumber,this.AchReference,this.AccountType,this.IsSavingsAccount,this.PayerName,this.CheckNumber,this.PreferredEmailAddress,this.Memo,this.InvoiceList,this.AutoPay,this.StoreAchInfo,this.EncryptionTypeId});
AchPayment.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!);
ClientId = json['ClientId'];
GroupId = json['GroupId'];
UserId = json['UserId'];
BhUserId = json['BhUserId'];
Amount = JsonConverters.toDouble(json['Amount']);
CurrencyType = json['CurrencyType'];
Country = json['Country'];
RoutingNumber = json['RoutingNumber'];
AccountNumber = json['AccountNumber'];
AchReference = json['AchReference'];
AccountType = json['AccountType'];
IsSavingsAccount = json['IsSavingsAccount'];
PayerName = json['PayerName'];
CheckNumber = json['CheckNumber'];
PreferredEmailAddress = json['PreferredEmailAddress'];
Memo = json['Memo'];
InvoiceList = JsonConverters.fromJson(json['InvoiceList'],'List<SalesForceMemberPaymentInvoiceDetail>',context!);
AutoPay = json['AutoPay'];
StoreAchInfo = json['StoreAchInfo'];
EncryptionTypeId = json['EncryptionTypeId'];
return this;
}
Map<String, dynamic> toJson() => {
'ClassName': ClassName,
'UniqueId': UniqueId,
'CreatedDateTime': JsonConverters.toJson(CreatedDateTime,'DateTime',context!),
'ClientId': ClientId,
'GroupId': GroupId,
'UserId': UserId,
'BhUserId': BhUserId,
'Amount': Amount,
'CurrencyType': CurrencyType,
'Country': Country,
'RoutingNumber': RoutingNumber,
'AccountNumber': AccountNumber,
'AchReference': AchReference,
'AccountType': AccountType,
'IsSavingsAccount': IsSavingsAccount,
'PayerName': PayerName,
'CheckNumber': CheckNumber,
'PreferredEmailAddress': PreferredEmailAddress,
'Memo': Memo,
'InvoiceList': JsonConverters.toJson(InvoiceList,'List<SalesForceMemberPaymentInvoiceDetail>',context!),
'AutoPay': AutoPay,
'StoreAchInfo': StoreAchInfo,
'EncryptionTypeId': EncryptionTypeId
};
getTypeName() => "AchPayment";
TypeContext? context = _ctx;
}
class AchPaymentCollection implements IConvertible
{
List<AchPayment>? AchPaymentList;
AchPaymentCollection({this.AchPaymentList});
AchPaymentCollection.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
AchPaymentList = JsonConverters.fromJson(json['AchPaymentList'],'List<AchPayment>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'AchPaymentList': JsonConverters.toJson(AchPaymentList,'List<AchPayment>',context!)
};
getTypeName() => "AchPaymentCollection";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'devapi.billhighway.com', types: <String, TypeInfo> {
'AchPaymentReply': TypeInfo(TypeOf.Class, create:() => AchPaymentReply()),
'AchPaymentReplyCollection': TypeInfo(TypeOf.Class, create:() => AchPaymentReplyCollection()),
'List<AchPaymentReply>': TypeInfo(TypeOf.Class, create:() => <AchPaymentReply>[]),
'SalesForceMemberPaymentInvoiceDetail': TypeInfo(TypeOf.Class, create:() => SalesForceMemberPaymentInvoiceDetail()),
'AchPayment': TypeInfo(TypeOf.Class, create:() => AchPayment()),
'List<SalesForceMemberPaymentInvoiceDetail>': TypeInfo(TypeOf.Class, create:() => <SalesForceMemberPaymentInvoiceDetail>[]),
'AchPaymentCollection': TypeInfo(TypeOf.Class, create:() => AchPaymentCollection()),
'List<AchPayment>': TypeInfo(TypeOf.Class, create:() => <AchPayment>[]),
});
Dart AchPaymentCollection DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/SalesForce/AchPayment HTTP/1.1
Host: devapi.billhighway.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<AchPaymentCollection xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common4.DTO.SalesForce">
<AchPaymentList>
<AchPayment>
<AccountNumber>String</AccountNumber>
<AccountType>String</AccountType>
<AchReference>String</AchReference>
<Amount>0</Amount>
<AutoPay>false</AutoPay>
<BhUserId>0</BhUserId>
<CheckNumber>String</CheckNumber>
<ClassName>String</ClassName>
<ClientId>0</ClientId>
<Country>String</Country>
<CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
<CurrencyType>String</CurrencyType>
<EncryptionTypeId>0</EncryptionTypeId>
<GroupId>String</GroupId>
<InvoiceList>
<SalesForceMemberPaymentInvoiceDetail>
<AmountPaid>String</AmountPaid>
<ClassName>String</ClassName>
<ClientId>0</ClientId>
<CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
<Invoice>0</Invoice>
<UniqueId>String</UniqueId>
</SalesForceMemberPaymentInvoiceDetail>
</InvoiceList>
<Memo>String</Memo>
<PayerName>String</PayerName>
<PreferredEmailAddress>String</PreferredEmailAddress>
<RoutingNumber>String</RoutingNumber>
<StoreAchInfo>false</StoreAchInfo>
<UniqueId>String</UniqueId>
<UserId>String</UserId>
</AchPayment>
</AchPaymentList>
</AchPaymentCollection>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<AchPaymentReplyCollection xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common4.DTO.SalesForce">
<AchReplyCollection>
<AchPaymentReply>
<ClientId>0</ClientId>
<CreatedDateTime>0001-01-01T00:00:00</CreatedDateTime>
<ErrorCode>0</ErrorCode>
<ErrorMessage>String</ErrorMessage>
<TransactionId>String</TransactionId>
<UniqueId>String</UniqueId>
</AchPaymentReply>
</AchReplyCollection>
</AchPaymentReplyCollection>