来自QuickBooks在线的付款信息仅返回带有ID的 PaymentMethodRef 引用属性。
在从QBOE请求付款信息时,如何获取付款方式名称?
供参考,添加以下代码。
此处 _paymentList [i] .PaymentMethodRef.name 始终为空,只有 _paymentList [i] .PaymentMethodRef.id 。
ServiceContext serviceContext = getServiceContext(companyID, operatorID);
QueryService<Item> itemQueryService = new QueryService<Item>(serviceContext);
DataService service = new DataService(serviceContext);
Batch batch = service.CreateNewBatch();
ServiceQBOnline_Payment Payment_info;
batch.Add("select * from Payment where Id In " + TxnIds + " ORDERBY id startPosition " + BatchStartIdx + " MaxResults 100", "bID1");
batch.Execute();
intuitBatchResponse queryCustomerResponse = batch["bID1"];
if (queryCustomerResponse.ResponseType == ResponseType.Query)
{
List<Payment> _paymentList = queryCustomerResponse.Entities.ToList().ConvertAll(item => item as Payment);
Response.PaymentExportSuccessList = new List<ServiceQBOnline_Payment>();
for (int i = 0; i < _paymentList.Count; i++)
{
Payment_info.PaymentMethod = _paymentList[i].PaymentMethodRef == null ? "" : _paymentList[i].PaymentMethodRef.name;
Response.PaymentExportSuccessList.Add(Payment_info);
}
答案 0 :(得分:1)
查询PaymentMethod
列表以获取完整详细信息:
文档示例:
SAMPLE QUERY
select * from PaymentMethod
你会得到这样的东西:
{
"PaymentMethod": {
"Name": "Diners Club",
"Active": true,
"Type": "CREDIT_CARD",
"domain": "QBO",
"sparse": false,
"Id": "7",
"SyncToken": "0",
"MetaData": {
"CreateTime": "2014-09-11T14:42:05-07:00",
"LastUpdatedTime": "2014-09-11T14:42:05-07:00"
}
},
"time": "2015-07-24T15:29:33.401-07:00"
}