我需要从Authorize.Net检索customerProfileId。
如何在customerProfileId
为我的asp.net mvc(C#)应用程序创建客户资料中使用的merchantCustomerId
或email
Authorize.Net
?
答案 0 :(得分:4)
如果您尝试使用已在使用的商家客户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。
答案 1 :(得分:0)
您不能通过customerProfileId以外的任何方式直接查询API。您可以做的最好的事情是使用getCustomerProfileIdsRequest
检索您创建的所有配置文件,然后调用getCustomerProfileRequest
来获取配置文件信息。然后,您可以检查它是否与您存档的电子邮件地址或merchantCustomerID相匹配。如果您有很多配置文件,这可能需要一段时间,但代码中的一个简单循环应该可以让您轻松完成。