簡體   English   中英

使用Authorize.Net中的客戶ID獲取customerProfileId

[英]Get customerProfileId using the customer id in Authorize.Net

我需要從Authorize.Net檢索customerProfileId。

如何使用merchantCustomerId獲取customerProfileId或在客戶配置文件中使用的emailAuthorize.Net為我的asp.net mvc(C#)應用程序創建。

如果您嘗試使用已在使用的商家客戶ID創建新的客戶資料,Authorize.NET將返回錯誤E00039 - “已存在ID為{0}的重復記錄”。 其中{0}是客戶資料ID。

因此,例如,如果您嘗試編寫邏輯以僅在商家ID尚不存在時創建新的客戶資料我發現最簡單的方法是繼續並嘗試創建它,並尋找:

((ANetApiResponse)response).messages.resultCode == messageTypeEnum.Error

如果是這樣,那么可以通過運行正則表達式找到您的客戶配置文件ID:

ErrorResponse.messages.message[0].text

並且您可以嘗試從錯誤消息中解析出客戶配置文件ID。 這是我發現實際擴展的唯一方法。 每次嘗試創建新記錄時,您都無法檢索100k客戶記錄並迭代查找匹配項,但如果您的Merchant客戶ID已在使用中,則可以指望Authorize.NET業務邏輯拋出錯誤。 當然,他們可以隨時改變錯誤信息的格式,所以YMMV。

您不能通過customerProfileId以外的任何方式直接查詢API。 您可以做的最好的事情是使用getCustomerProfileIdsRequest來檢索您創建的所有配置文件,然后調用getCustomerProfileRequest來獲取配置文件信息。 然后,您可以檢查它是否與您存檔的電子郵件地址或merchantCustomerID相匹配。 如果您有很多配置文件,這可能需要一段時間,但代碼中的簡單循環應該可以輕松完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM