Reputation: 1416
I am getting this error when using the live API credentials for Adaptive Payment.
reading across intrwebs and documentation it has to do something with the account permissions, but to be fair i don't know which one. receivers, api holders, or apps
I have created the APP, got the key and it has status of "Approved Automatically"
The request that I am using is "basic parallel payment" (from one recipient to another, or rather from buyer to seller)
The account that provides an API key is business verified account and it is same account under the app has been created.
The account that was set to receive money is also verified business account (linked bank cheque account)
bellow is pay request that i am sending
<PayRequest xmlns="http://svcs.paypal.com/types/ap">
<requestEnvelope xmlns="">
<detailLevel>ReturnAll</detailLevel>
<errorLanguage>en_US</errorLanguage></requestEnvelope>
<actionType xmlns="">CREATE</actionType>
<cancelUrl xmlns="">[redacted]</cancelUrl>
<clientDetails xmlns=""><applicationId xmlns="">[redacted]</applicationId>
<customerId xmlns="">[redacted]</customerId>
<customerType xmlns="">buyer</customerType>
<ipAddress xmlns="">XXX.xxx.xxx.xxx</ipAddress>
<partnerName xmlns="">[redacted]</partnerName></clientDetails>
<currencyCode xmlns="">AUD</currencyCode>
<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="">[redacted]</ipnNotificationUrl>
<receiverList xmlns=""><receiver xmlns=""><amount xmlns="">2.00</amount>
<email xmlns="">[email protected]</email>
<paymentType xmlns="">GOODS</paymentType></receiver></receiverList>
<sender><useCredentials xmlns=""></useCredentials></sender>
<account xmlns=""><phone xmlns=""></phone></account>
<returnUrl xmlns="">[redacted]</PayRequest>
Edit: worth to note maybe is that url that I am testing the live payments its a staging url (not production)
Upvotes: 3
Views: 1499
Reputation: 1416
fixed.
The fundingConstraint was causing permission errors.
<fundingConstraint>
<fundingTypeInfo xmlns="">
<fundingType xmlns="">ECHECK</fundingType>
</fundingTypeInfo>
<fundingTypeInfo xmlns="">
<fundingType xmlns="">BALANCE</fundingType>
</fundingTypeInfo>
<fundingTypeInfo xmlns="">
<fundingType xmlns="">CREDITCARD</fundingType>
</fundingTypeInfo>
</fundingConstraint>
from the doco, Page 11 (bolded out for emphasis)
https://www.x.com/sites/default/files/2102_pp_adaptivepayments.pdf
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.
I was under impression that this was required by default (to make a simple payment) hence i was using it, but turns out it works fine and without it (so its kind of optional).A bit strange as I thought it should be other way around (special permission fro ANY type, no restriction for specified types)
Also worth to note, when you create application don't be fooled by approval status ot check boxes under "Confirm funding sources you support". They (ECHECK, CREDIT CARD, BALANCE) were checked all by default, but it seems that regardless you would need a special permission as specified in APP creation process just bellow checkboxed items "Changing default payment sources will require additional Review time and specific PayPal Approval."
In other words, the app was not under 'conditional approval' which this note suggest.
Upvotes: 5