This example demonstrates card payment processing using Jakarta EE and the Global Payments SDK.
- Java 11 or later
- Maven
- Global Payments account and API credentials
src/main/java/com/globalpayments/example/ProcessPaymentServlet.java- Main servlet handling payment processingsrc/main/webapp/index.html- Client-side payment formsrc/main/webapp/WEB-INF/web.xml- Web application configuration.env.sample- Template for environment variablespom.xml- Project dependencies and build configurationrun.sh- Convenience script to run the application
- Clone this repository
- Copy
.env.sampleto.env - Update
.envwith your Global Payments credentials:PUBLIC_API_KEY=pk_test_xxx SECRET_API_KEY=sk_test_xxx - Install dependencies:
mvn clean install
- Run the application:
Or manually:
./run.sh
mvn jetty:run
The application uses Jakarta EE servlets to:
- Handle payment processing requests
- Serve configuration data
- Process form submissions
Global Payments SDK configuration is handled in the servlet's init method:
- Loads credentials from .env file
- Sets up service URL for API communication
- Configures developer identification
Payment processing flow:
- Client submits payment token and billing zip
- Server creates CreditCardData with token
- Creates Address with postal code
- Processes $10 USD charge
- Returns success/error response
Implements comprehensive error handling:
- Catches and processes API exceptions
- Returns appropriate HTTP status codes
- Provides meaningful error messages
Returns public API key for client-side SDK initialization.
Response:
{
"publicApiKey": "pk_test_xxx"
}Processes a payment using the provided token and billing information.
Request Parameters:
payment_token(string, required) - Token from client-side SDKbilling_zip(string, required) - Billing postal code
Response (Success):
Payment successful! Transaction ID: xxx
Response (Error):
Error: [error message]
This example demonstrates basic implementation. For production use, consider:
- Implementing additional input validation
- Adding request rate limiting
- Including security headers
- Implementing proper logging
- Adding payment fraud prevention measures
- Configuring secure session management