【问题标题】:DoDirectPayment : This transaction cannot be processed due to an invalid merchant configurationDoDirectPayment : 由于商家配置无效,无法处理此交易
【发布时间】:2013-08-04 00:11:43
【问题描述】:

我是一名商人,想向访问我网站的客户收费。

我正在调用 DoDirectPayment API,始终收费一次,从不重复计费。

Paypal 正确验证信用卡,当卡信息不正确时给出正确的错误消息,但当它正确时,是时候向客户收费了,它说:

由于商家无效,无法处理此交易 配置。

我无法弄清楚为什么我使用 DoDirectPayment API 收到此错误消息。

一切似乎都指向“结算协议”。这是我必须在 Paypal 中配置的东西吗?

我对另一个贝宝帐户使用相同的代码并且工作正常。好像我在 Paypal 中缺少配置。

//请求

{"DoDirectPaymentRequestDetails":{"PaymentAction":2,"PaymentDetails":{"OrderTotal":{"currencyID":125,"Value":"29.47"},"ItemTotal":null,"ShippingTotal":null,"HandlingTotal":null,"TaxTotal":null,"OrderDescription":null,"Custom":null,"InvoiceID":null,"ButtonSource":null,"NotifyURL":null,"ShipToAddress":null,"ShippingMethod":0,"ShippingMethodSpecified":false,"ProfileAddressChangeDate":"\/Date(-62135578800000)\/","ProfileAddressChangeDateSpecified":false,"PaymentDetailsItem":null,"InsuranceTotal":null,"ShippingDiscount":null,"InsuranceOptionOffered":null,"AllowedPaymentMethod":0,"AllowedPaymentMethodSpecified":false,"EnhancedPaymentData":null,"SellerDetails":null,"NoteText":null,"TransactionId":null,"PaymentAction":0,"PaymentActionSpecified":false,"PaymentRequestID":null,"OrderURL":null,"SoftDescriptor":null},"CreditCard":{"CreditCardType":1,"CreditCardTypeSpecified":false,"CreditCardNumber":"XXXXXX","ExpMonth":X,"ExpMonthSpecified":true,"ExpYear":201X,"ExpYearSpecified":true,"CardOwner":{"Payer":"","PayerID":"","PayerStatus":1,"PayerStatusSpecified":false,"PayerName":{"Salutation":null,"FirstName":"daniel","MiddleName":null,"LastName":"XXXXX","Suffix":null},"PayerCountry":37,"PayerCountrySpecified":false,"PayerBusiness":null,"Address":{"Name":null,"Street1":"XXXXX","Street2":"d","CityName":"XXXXX","StateOrProvince":"XX","Country":37,"CountrySpecified":true,"CountryName":"CA","Phone":null,"PostalCode":"XXXXX","AddressID":null,"AddressOwner":0,"AddressOwnerSpecified":false,"ExternalAddressID":null,"InternationalName":null,"InternationalStateAndCity":null,"InternationalStreet":null,"AddressStatus":0,"AddressStatusSpecified":false},"ContactPhone":null},"CVV2":"XXX","StartMonth":0,"StartMonthSpecified":false,"StartYear":0,"StartYearSpecified":false,"IssueNumber":null,"ThreeDSecureRequest":null},"IPAddress":"127.0.0.1","MerchantSessionId":"","ReturnFMFDetails":false,"ReturnFMFDetailsSpecified":false},"ReturnFMFDetails":0,"ReturnFMFDetailsSpecified":false,"DetailLevel":null,"ErrorLanguage":null,"Version":"51.0","Any":null}

//响应

{"Amount":{"currencyID":125,"Value":"29.47"},"AVSCode":null,"CVV2Code":null,"TransactionID":null,"PendingReason":0,"PendingReasonSpecified":false,"PaymentStatus":0,"PaymentStatusSpecified":false,"FMFDetails":null,"ThreeDSecureResponse":null,"Timestamp":"\/Date(1375552138000)\/","TimestampSpecified":true,"Ack":1,"CorrelationID":"12d77e0d2b686","Errors":[{"ShortMessage":"Invalid Configuration","LongMessage":"This transaction cannot be processed due to an invalid merchant configuration.","ErrorCode":"10501","SeverityCode":1,"ErrorParameters":null}],"Version":"51.0","Build":"7165512","Any":null}

任何帮助将不胜感激!

谢谢

【问题讨论】:

  • 请确保 API 帐户用户名、密码和签名正确。确切的错误代码是什么?
  • 您能否提供您发送过来的 API 请求以及您收到的完整 API 响应,我会看一下。
  • 谢谢,我已将其添加到帖子中。

标签: asp.net paypal express-checkout


【解决方案1】:

您正在尝试处理信用卡付款,而您的 PayPal 帐户未启用,这就是您从 PayPal 的DoDirectPayment API 收到“无效的商家配置”错误响应的原因。

即使您在问题的标题中提到“PayPal Express Checkout”,如果您遇到此错误,您没有使用 Express Checkout 产品。

如果您所在的国家/地区(美国、英国、加利福尼亚州)有此功能,您需要注册 PayPal Website Payments Pro。

或者,使用 PayPal Express Checkout,它在(几乎)所有可以使用 PayPal 的国家/地区都可以使用,并且不需要月费。

【讨论】:

  • 是的,我正在使用 DoDirectPayment,我的错!我更正了帖子。
  • 如我所料,您需要使用用于调用 API 的帐户注册 PayPal Website Payments Pro。请注意,您需要申请“Website Payments Pro”。
【解决方案2】:

既然您让我知道您实际上是在谈论 DoDirectPayment,我可以告诉您,您遇到的错误意味着 DDP 根本没有在帐户上处于活动状态。这可能有多种原因。

Payments Pro has changed over the years。当出现此错误时,我过去可以简单地告诉您需要申请 Pro,如果您已经这样做并获得了批准,那么您需要确保您已经接受了计费协议。在这种情况下,计费协议是您同意在交易费用之外向 PayPal 支付 30 美元/月。这是他们使用 Pro 的费用。

现在,Payments Pro 包含 DoDirectPayment 和 PayFlow,但根据您不是哪个版本,您可能必须使用 PayFlow,或者您可能只需要请求他们为您启用 DDP。

【讨论】:

  • 嗯,有道理,我发现我上次使用的网站从未注册 Payments Pro 很有趣。我没有每月 30 的费用。我只是支付交易费用。这就是为什么我想将我的另一个网站切换到 Paypal。但现在情况似乎发生了变化。我联系了贝宝支持,看看他们要说什么。谢谢
  • Payments Pro 一直是 30 美元/月。也就是说,新的 REST API 允许您直接处理信用卡而不需要 Pro,因此如果您想避免费用,您可能只想走这条路。
【解决方案3】:

该错误告诉您 Paypal 商家帐户中存在错误配置,是的。

以下内容来自 Paypal 帮助中心 (https://www.paypal.com/helpcenter/main.jsp;jsessionid=JBxTykGsT2gy4GTwcFQhCfTmqgNj9TnHfprRRMfDRwpqGs0H2yxf!-7839025?t=solutionTab&ft=homeTab&ps=&solutionId=163218&locale=en_GB&_dyncharset=UTF-8&countrycode=GB&cmd=_help&serverInstance=9004):

什么是计费协议,它是如何运作的?

结算协议允许商家在您购买商品或使用该商家的服务时向您的 PayPal 帐户收费。

这方面的一个例子是 eBay 和 PayPal 客户之间的协议,当客户在 eBay 上列出要拍卖的物品时,使用客户的 PayPal 帐户支付 eBay 费用。

计费协议与订阅不同,因为订阅会在指定期限内收取固定金额的费用。

修改或取消计费协议:

登录到您的 PayPal 帐户。 单击页面顶部附近的个人资料。 选择我的钱。 在“我的预先批准的付款”部分,点击更新。 选择相关的帐单协议即可开始。

【讨论】:

  • 问题是,我是商家,为什么需要账单协议?
【解决方案4】:

听起来您正尝试在您的 SetExpressCheckout 请求中使用账单协议,但您的帐户尚未获得批准。

需要结算协议才能使用 DoReferenceTransaction 处理未来的付款。 SetExpressCheckout 请求包括用于设置的计费协议参数。如果您在没有计费协议参数的情况下通过 SEC,那么未来的 DoReferenceTransaction 调用将不起作用。

那么,问题是您是否尝试使用参考交易/计费协议?如果没有,您只需从请求中删除计费协议参数即可。

如果您想在此处发布实际 API 请求和响应的示例,我可能会为您提供更好的帮助。

【讨论】:

  • 对不起,如果我误导了你,我使用的是 DoDirectPayment 而不是 SetExpressCheckout
猜你喜欢
  • 2015-10-08
  • 2016-03-28
  • 2017-05-19
  • 2013-10-24
  • 2010-11-20
  • 2017-07-15
  • 1970-01-01
  • 2019-07-21
  • 2013-09-12
相关资源
最近更新 更多