This repository contains Java SDK and samples for REST API.
- Java JDK-1.5 or higher
- Apache Maven 3 or higher
- Please refer http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html for any help in Maven.
- Source code for core files are present at https://github.com/paypal/sdk-core-java.
- Run
mvn install
to build sdk jar and sample war files.
-
Create a new maven application.
-
Add dependency to sdk in your application's pom.xml as below.
<dependency> <groupId>com.paypal.sdk</groupId> <artifactId>rest-api-sdk</artifactId> <version>0.7.1</version> </dependency>
-
Import stub classes into your code. For example,
import com.paypal.api.payments.*
-
Copy the configuration file
sdk_config.properties
inrest-api-sample/src/test/resources
folder to your applicationsrc/main/resources
. And load it as a classloader resource,InputStream is = PaymentWithCreditCardServlet.class.getResourceAsStream("/sdk_config.properties");
-
Or load config file from any custom location using absolute path with the below method calls as required,
Payment.initConfig(new File("../sdk_config.properties")); Or Payment.initConfig(new InputStream(new File("../sdk_config.properties"))); Or Payment.initConfig(new Properties().load(new InputStream(new File("../sdk_config.properties"))));
-
Create
accesstoken
fromclientID
andclientSecret
usingOAuthTokenCredential
String accessToken = new OAuthTokenCredential(clientID, clientSecret).getAccessToken();
-
Depending on the context of API calls, calling method may be static or non-static (For example, most
GET
http methods are created asstatic
methods within the resource). In all API calls, we need to passaccessToken
created above as argument as shown below,-
If it is static, invoke it as a class method as like
Payment.get(accessToken, paymentID);
-
If it is non-static, invoke it using resource object as like below. The API call takes a APIContext object in the place of AccessToken, APIContext object encapsulates Access Token and Request ID (used for idempotency).
APIContext apiContext = new APIContext(accessToken); (OR) APIContext apiContext = new APIContext(accessToken, requestId); Payment payment = new Payment(); payment.setIntent("sale"); ... payment.create(apiContext);
-
The SDK uses Java properties format configuration file. Sample of this file is at
rest-api-sample/src/test/resources/
. You can use the sdk_config.properties
configuration file to configure
-
HTTP connection parameters.
-
Service configuration.
-
Credentials