2013-08-02 75 views
0

我是一位商家,希望向来我的网站的客户收费。DoDirectPayment:由于商家配置无效,无法处理此交易

我打电话给DoDirectPayment API,总是收费一次,永不重复计费。

宝正确地验证信用卡,给人一种正确的错误消息,当卡信息不正确,但是当它是正确的,是及时向当事人收取,它说:

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

我不明白为什么我使用DoDirectPayment API得到这个错误消息。

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

我使用相同的代码为另一个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} 

任何帮助,将不胜感激!

感谢

+0

请确保API帐户用户名,密码和签名是正确的。什么是确切的错误代码? – Win

+0

您可以提供您发送的API请求和您收到的完整API响应,我会查看它。 –

+0

谢谢,我将它添加到帖子中。 – Danio

回答

0

该错误是告诉你,没有在贝宝商家帐户配置错误的东西,是的。

从贝宝帮助中心(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上拍卖物品的eBay费用。因为与预订一固定量的电荷的在规定的期间

帐单协定是从订阅不同。

要修改或取消结算协议:

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

+0

问题是,我是商人,那么为什么我需要结算协议? – Danio

0

这听起来像你试图在你的SetExpressCheckout请求中使用结算协议,但你没有这样的批准您的帐户。

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

所以,问题是你是否试图参考交易/结算协议或不是?如果不是,您只需要从请求中删除结算协议参数。

如果你想在这里发布实际API请求和响应的样本,我可以帮助你更好。

+0

很抱歉,如果我误导你,我正在使用DoDirectPayment而不是SetExpressCheckout – Danio

3

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

即使您在问题的标题中提及“PayPal Express Checkout”,但如果出现此错误,您使用的是Express Checkout产品,您是而不是

如果您所在的国家(美国,英国,加拿大)可用,则需要注册贝宝网站付款专业版。

或者,使用PayPal Express Checkout,可在(几乎)所有国家/地区使用PayPal本身可用,且无需每月支付费用。

+0

的确如此,我正在使用DoDirectPayment,我的错误!我纠正了这个帖子。 – Danio

+0

正如我所设想的那样,您需要使用您正在进行API调用的帐户注册PayPal网站付款专业版。请注意,您需要申请'网站付款专业版'。 – Robert

1

现在,你让我知道你实际上在谈论DoDirectPayment,我可以告诉你,你得到的错误意味着DDP只是不活跃的帐户。这可能是由于许多原因。

Payments Pro has changed over the years。当这个错误出现时,我曾经只能告诉你需要申请Pro,如果你已经完成并获得批准,那么你需要确保你已经接受了结算协议。这种情况下的结算协议是您同意在交易费用之上支付PayPal $ 30 /月的协议。这是他们使用Pro的费用。

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

+0

嗯有道理,我发现有趣的是,我从来没有使用Payments Pro注册我使用的最后一个网站。我没有30美元的月费。我只是支付交易费用。这就是为什么我想将我的另一个网站切换到PayPal。但现在看来事情已经改变了。我联系了贝宝支持,看看他们有什么要说的。谢谢 – Danio

+0

Payments Pro一直是$ 30 /月。也就是说,新的REST API允许您直接处理信用卡而不需要专业版,所以如果您想避免费用,您可能只想去那条路线。 –

相关问题