0

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

我正在调用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}

//Response

{"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}

Any help would be appreciated!

Thanks

4

4 回答 4

3

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

即使您在问题的标题中提到“PayPal Express Checkout”,如果您收到此错误,您也不是在使用 Express Checkout 产品。

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

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

于 2013-08-03T17:09:14.863 回答
1

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

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

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

于 2013-08-04T06:48:02.807 回答
0

听起来您正试图在您的 SetExpressCheckout 请求中使用计费协议,但您的帐户没有获得批准。

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

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

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

于 2013-08-03T05:09:53.150 回答
0

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

以下内容取自 Paypal 帮助中心 ( https://www.paypal.com/helpcenter/main.jsp;jsessionid=JBxTykGsT2gy4GTwcFQhCfTmqgNj9TnHfprRRMfDRwpqGs0H2yxf!-7839025?t=solutionTab&ft=homeTab&ps=&solutionId=163218&locale=en_GBcountry&_dynset =_help&serverInstance=9004 ):

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

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

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

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

要修改或取消计费协议:

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

于 2013-08-02T16:37:50.040 回答