2017-09-15 52 views
1

更新:---提供的代碼修復了圖表上的一個問題,該問題阻止了API允許我創建。使用Acumatica Rest API創建或檢索客戶付款方式問題

public class CustomerPaymentMethodMaint_Extension:PXGraphExtension<CustomerPaymentMethodMaint> 
{ 

    #region Event Handlers 

    protected virtual void CustomerPaymentMethodDetail_RowSelected(PXCache cache, PXRowSelectedEventArgs e, PXRowSelected del) 
    { 
     if (del != null) 
     { 
      del(cache, e); 
     } 
     if (Base.IsContractBasedAPI) 
     { 
      CustomerPaymentMethodDetail row = (CustomerPaymentMethodDetail)e.Row; 
      PXDefaultAttribute.SetPersistingCheck<CustomerPaymentMethodDetail.value>(cache, row, PXPersistingCheck.Nothing); 
     } 
    } 

    #endregion 

} 

對於我的生活,我想不出什麼Acumatica期待我送它到任何檢索或創建使用REST API客戶付款方式。如果你能指出我正確的方向,將不勝感激。我們給出的例子是非常基本的,似乎並沒有涵蓋任何這種情況。

我會假設它將使用標準的「按關鍵字段檢索記錄」進行檢索,如幫助部分所述。

我已經嘗試使用下面的所有url結構,它要麼給我一個「操作不是由於對象的當前狀態造成的值」錯誤,或者「多個實體滿足條件」。

/entity/Default/6.00.001/CustomerPaymentMethod/{BAccountID}/{PMInstanceID} 
/entity/Default/6.00.001/CustomerPaymentMethod/{AcctCD}/{PMInstanceID} 
/entity/Default/6.00.001/CustomerPaymentMethod/{BAccountID} 
/entity/Default/6.00.001/CustomerPaymentMethod/{PMInstanceID} 
/entity/Default/6.00.001/CustomerPaymentMethod/{AcctCD} 

試圖創建一個付款方式我用「把」交給CustomerPaymentMethod端點以下JSON身體試圖(我也用肥皂嘗試了這些領域,而不是標籤,這就是在用戶界面的友好名稱「CCDNUM」, 「CVV」, 「EXPDATE」, 「NAMEONCC」)。我得到的錯誤是「Value」不能爲空。

{ 
    "CustomerID" : { value: "0000467" }, 
    "PaymentMethod" : { value: "CC" }, 
    "CustomerPaymentMethodDetail" : [ 
     { 
      "Description" : { value : "Card Number" }, 
      "Value" : { value : "4111111111111111" }, 
     }, 
     { 
      "Description" : { value : "Expiration Date" }, 
      "Value" : { value : "102020" }, 
     }, 
     { 
      "Description" : { value : "Name on the Card" }, 
      "Value" : { value : "Test API" }, 
     } 
    ] 
} 

回答

0

下面的項目適用於我使用APS(美國支付解決方案)作爲處理中心的項目。

使用GET中檢索客戶付款方式的集合爲特定客戶:

/entity/Default/6.00.001/CustomerPaymentMethod/?$filter=CustomerID+eq+'000000' 

使用GET通過ID返回單個客戶支付方法:(您可以通過返回的記錄中的ID )

/entity/Default/6.00.001/CustomerPaymentMethod/guid-from-record?$expand=Details 

我不認爲用Acumatica API創建一個全新的客戶付款方式是不可能的。我認爲您首先必須使用您的處理中心的API創建付款記錄。 (在我的例子中是APS,但我假設Authorize.net以類似的方式工作。)然後,一旦付款記錄存在於處理器中,您可以使用PUT在Acumatica中添加客戶付款記錄來填充付款資料ID,是對標記卡的參考。從那裏,您可以使用上面的GET調用來返回您需要的內容,以授權/捕獲銷售訂單。

我正在通過這個工作,我會更新我的評論,一旦我瞭解更多。

+0

感謝您的回覆。我們沒有集成處理功能,所以信用卡實際上存儲在我們的系統中,所以使用第三方api出門並不適用於我們。我用Acumatica開了一張票,他們提供了一個「修復」來解決我已經離開的問題。 - 我將它添加到原始問題中 – Chris

相關問題