paypal自适应支付 - 您无权限制资金来源

时间:2013-06-29 05:15:49

标签: php codeigniter paypal paypal-adaptive-payments

当我尝试使用paypal自适应支付付款时,我收到错误。我在sanbox获得成功。但它没有在live.i谷歌搜索它,找不到propoer的答案。 以下是我的付款请求

<?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="">anooj08@gmail.com</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>

并且我得到了这个回复

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 个答案:

答案 0 :(得分: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. 

答案 1 :(得分: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>