Balance Accounts API

AlirezaA
Contributor
Contributor

To Whom It May Concern,

 

I’m working on “PayPal Balance Accounts Integration”, I have a Business Account and I’m a partner in the PayPal Partner program, and I followed all your integration steps explained here:
https://developer.paypal.com/docs/limited-release/balance-accounts/

 

When I try to get the list PayPal balance accounts with this sample request:

 

 

curl -v -X GET https://api.sandbox.paypal.com/v2/wallet/balance-accounts \

-H "Content-Type: application/json" \

-H "Authorization: Bearer Access-Token"

 

I got this response back:

 

{

    "name": "INSUFFICIENT_PRIVILEGES",

    "message": "Insufficient privileges for requested resource.",

    "information_link": "",

    "details": [

        {

            "issue": "Insufficient privileges for requested resource.",

            "code": "INSUFFICIENT_PRIVILEGES"

        }

    ]

}

 

 

 

I also did all the steps for “Request Third-Party Permissions through the Permissions Service”  explained here:
https://developer.paypal.com/docs/classic/permissions-service/ht_permissions-invoice/#
and I used your PayPal Java SDK to get "X-PAYPAL-AUTHORIZATION: token=...,signature=..., timeStamp=..."

explained here:
https://developer.paypal.com/docs/classic/permissions-service/integration-guide/PermissionsUsing/#gr...

here is the Java example:


import java.util.Iterator;
import java.util.Map;

import com.paypal.sdk.util.OAuthSignature;
import com.paypal.sdk.util.OAuthSignature.HTTPMethod;

public class TestOauthSignature {

private static String apiUserName = "..._biz_api1.gmail.com";
private static String apiPassword = "1255077037";
private static String accessToken = "2WhQDDM4...";
private static String tokenSecret = "j0YhbTgcy.K5VjpQa7Ru8oM...";
private static HTTPMethod httpMethod = OAuthSignature.HTTPMethod.POST;
private static String scriptURI = "https://api.sandbox.paypal.com/nvp";
private static Map queryParams = null;

public static void main(String[] args) {
try{
Map map = OAuthSignature.getAuthHeader(apiUserName, apiPassword,
accessToken, tokenSecret, httpMethod, scriptURI, queryParams);
// Display Signature and Timestamp to console.
Iterator itr = map.entrySet().iterator();
while(itr.hasNext()){
Map.Entry entry = (Map.Entry)itr.next();
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}catch (Exception e) {
// handle exception
}
}
}

 


And now I have the header for:

X-PAYPAL-AUTHORIZATION=

token=AccessToken,

signature=OAuthSignature,

timestamp=CurrentOAuthTimestamp

 

I also add X-PAYPAL-AUTHORIZATION header into your sample request, I got the same response back.

And when I removed this header: “Authorization: Bearer Access-Token" from the request:

 

curl -v -X GET https://api.sandbox.paypal.com/v2/wallet/balance-accounts \

-H "Content-Type: application/json" \

-H “X-PAYPAL-AUTHORIZATION:token=AccessToken,signature=OAuthSignature,timestamp=CurrentOAuthTimestamp”

 

I got this response back:

 

{

    "name": "AUTHENTICATION_FAILURE",

    "message": "Authentication failed due to invalid authentication credentials or a missing Authorization header.",

    "links": [

        {

            "href": "https://developer.paypal.com/docs/api/overview/#error",

            "rel": "information_link"

        }

    ]

}

 

Could you help me, please?

Is there any step that I need to do?

 

Kind regards,

 

Alireza Asghari

Login to Me Too
0 REPLIES 0

Haven't Found your Answer?

It happens. Hit the "Login to Ask the community" button to create a question for the PayPal community.