2013-06-29 22 views
1

Iam在尝试使用PayPal自适应付款进行付款时出错。 iam在sanbox中获得成功。但它没有在live.i搜索它,找不到propoer答案。下面 是我的付款请求paypal自适应付款 - 您没有权限限制资金来源

<?xml version="1.0" encoding="utf-8"?> 
<PayRequest xmlns="http://svcs.paypal.com/types/ap"> 
<requestEnvelope xmlns=""><detailLevel>ReturnAll</detailLevel> 
<errorLanguage>en_US</errorLanguage></requestEnvelope> 
<actionType xmlns="">PAY</actionType><cancelUrl xmlns="">cancel url</cancelUrl> 
<clientDetails xmlns=""><applicationId xmlns="">APP-2JdfdfdfdfK4691244F</applicationId> 
<ipAddress xmlns="">122.166.240.144</ipAddress> 
</clientDetails> 
<currencyCode xmlns="">GBP</currencyCode> 
<feesPayer xmlns="">EACHRECEIVER</feesPayer> 
<fundingConstraint xmlns=""> 
<allowedFundingType xmlns=""> 
<fundingTypeInfo xmlns=""> 
<fundingType xmlns="">ECHECK</fundingType> 
</fundingTypeInfo><fundingTypeInfo xmlns=""> 
<fundingType xmlns="">BALANCE</fundingType></fundingTypeInfo> 
<fundingTypeInfo xmlns=""> 
    <fundingType xmlns="">CREDITCARD</fundingType> 
</fundingTypeInfo> 
</allowedFundingType> 
</fundingConstraint> 
<ipnNotificationUrl xmlns="">notification url</ipnNotificationUrl> 
<memo xmlns="">test</memo><preapprovalKey xmlns="">PA-35656565E907913S</preapprovalKey> 
<receiverList xmlns=""><receiver xmlns=""><amount xmlns="">100</amount> 
    <email xmlns="">[email protected]</email> 
    <invoiceId xmlns="">123456789</invoiceId> 
    <paymentType xmlns="">SERVICE</paymentType> 
</receiver> 
</receiverList> 
<sender><useCredentials xmlns="">false</useCredentials></sender> 
<account xmlns=""> 
    <phone xmlns=""></phone> 
</account> 
<returnUrl xmlns="">redirect url</returnUrl><reverseAllParallelPaymentsOnError xmlns="">TRUE</reverseAllParallelPaymentsOnError> 
</PayRequest> 

和IAM得到这个响应

Array 
(
    [Errors] => Array 
     (
      [0] => Array 
       (
        [Receiver] => 
        [Category] => Application 
        [Domain] => PLATFORM 
        [ErrorID] => 550001 
        [ExceptionID] => 
        [Message] => You do not have permission to constrain funding sources 
        [Parameter] => 
        [Severity] => Error 
        [Subdomain] => Application 
       ) 

     ) 

    [Ack] => Failure 
    [Build] => 6520082 
    [CorrelationID] => 57dbec06d371f 
    [Timestamp] => 2013-06-28T21:43:10.518-07:00 
    [PayKey] => 
    [PaymentExecStatus] => 
    [RedirectURL] => 
    [XMLRequest] => my xml request 
    [XMLResponse] =>response 
) 

回答

2

检查fundingConstraint:

<fundingConstraint> 
<fundingTypeInfo xmlns=""> 
<fundingType xmlns="">ECHECK</fundingType> 
</fundingTypeInfo> 
<fundingTypeInfo xmlns=""> 
<fundingType xmlns="">BALANCE</fundingType> 
</fundingTypeInfo> 
<fundingTypeInfo xmlns=""> 
<fundingType xmlns="">CREDITCARD</fundingType> 
</fundingTypeInfo> 
</fundingConstraint> 

为解决here

fundingConstraint New field: ap:FundingConstraint Specifies a list of allowed 
funding  types for the payment. This list can be in any order. If this field is 
omitted, the payment can be funded by any funding type that is supported by Adaptive 
Payments. NOTE: This feature is available for applications with special permission level. 
+0

正如上面提到的@kwishnu,您需要获得设置资金约束的权限。但看起来你正在设置所有三种类型 - 所以你不需要设置资金限制。只要删除该字段。如果您确实需要设置此权限 - 请从apps.paypal.com提交您的请求作为您的应用程序请求的一部分。 – Praveen

2

从您的付款请求中删除以下代码,并确保它能正常工作。

<fundingConstraint xmlns=""> 
<allowedFundingType xmlns=""> 
<fundingTypeInfo xmlns=""> 
<fundingType xmlns="">ECHECK</fundingType> 
</fundingTypeInfo><fundingTypeInfo xmlns=""> 
<fundingType xmlns="">BALANCE</fundingType></fundingTypeInfo> 
<fundingTypeInfo xmlns=""> 
    <fundingType xmlns="">CREDITCARD</fundingType> 
</fundingTypeInfo> 
</allowedFundingType> 
</fundingConstraint> 
+0

你拯救我的一天! –

相关问题