Getting Started with PayPal Server SDK

June 5, 2026 ยท View on GitHub

Introduction

Important Notes

  • Available Features: This SDK currently contains only 5 of PayPal's API endpoints. Additional endpoints and functionality will be added in the future.

Information

The PayPal Server SDK provides integration access to the PayPal REST APIs. The API endpoints are divided into distinct controllers:

Install the Package

Install the SDK by adding the following dependency in your project's pom.xml file:

<dependency>
  <groupId>com.paypal.sdk</groupId>
  <artifactId>paypal-server-sdk</artifactId>
  <version>2.3.0</version>
</dependency>

You can also view the package at: https://central.sonatype.com/artifact/com.paypal.sdk/paypal-server-sdk/2.3.0

Initialize the API Client

Note: Documentation for the client can be found here.

The following parameters are configurable for the API Client:

ParameterTypeDescription
environmentEnvironmentThe API environment.
Default: Environment.SANDBOX
httpClientConfigConsumer<HttpClientConfiguration.Builder>Set up Http Client Configuration instance.
loggingConfigConsumer<ApiLoggingConfiguration.Builder>Set up Logging Configuration instance.
clientCredentialsAuthClientCredentialsAuthThe Credentials Setter for OAuth 2 Client Credentials Grant

The API client can be initialized as follows:

import com.paypal.sdk.Environment;
import com.paypal.sdk.PaypalServerSdkClient;
import com.paypal.sdk.authentication.ClientCredentialsAuthModel;
import com.paypal.sdk.exceptions.ApiException;
import com.paypal.sdk.http.response.ApiResponse;
import com.paypal.sdk.models.OAuthToken;
import java.io.IOException;
import org.slf4j.event.Level;

public class Program {
    public static void main(String[] args) {
        PaypalServerSdkClient client = new PaypalServerSdkClient.Builder()
            .loggingConfig(builder -> builder
                    .level(Level.DEBUG)
                    .requestConfig(logConfigBuilder -> logConfigBuilder.body(true))
                    .responseConfig(logConfigBuilder -> logConfigBuilder.headers(true)))
            .httpClientConfig(configBuilder -> configBuilder
                    .timeout(0))
            .clientCredentialsAuth(new ClientCredentialsAuthModel.Builder(
                    "OAuthClientId",
                    "OAuthClientSecret"
                )
                .build())
            .environment(Environment.SANDBOX)
            .build();

    }
}

Environments

The SDK can be configured to use a different environment for making API calls. Available environments are:

Fields

NameDescription
PRODUCTIONPayPal Live Environment
SANDBOXDefault PayPal Sandbox Environment

Authorization

This API uses the following authentication schemes.

List of APIs

SDK Infrastructure

Configuration

HTTP

Utilities