2013-06-29 42 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

你拯救我的一天! –

相關問題