Skip to content

Commit 2e75c06

Browse files
Merge pull request #11 from CyberSource/25.4.0
25.4.0
2 parents 2ce0a15 + e0d8ec4 commit 2e75c06

File tree

72 files changed

+1066
-444
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+1066
-444
lines changed

documentation/CJL/CJL.md

Lines changed: 13 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
## CJL - Core Java Library <!-- omit in toc -->
44

5-
**Version 25.3.0**
6-
March 2025
5+
**Version 25.4.0**
6+
May 2025
77

88
## Contents <!-- omit in toc -->
99

@@ -168,7 +168,7 @@ This document is written for merchants who want to use Core Java API for payment
168168
- Authorizations with Payment Network Tokens Using the Simple Order API ([HTML](https://developer.cybersource.com/library/documentation/dev_guides/Authorizations_PNT_SO_API/html/index.html) |[PDF](https://developer.cybersource.com/library/documentation/dev_guides/Authorizations_PNT_SO_API/Authorizations_PNT_SO_API.pdf))
169169
- Tax Calculation Service for the Simple Order API ( [HTML](http://apps.cybersource.com/library/documentation/dev_guides/Tax_SO_API/html) | [PDF](http://apps.cybersource.com/library/documentation/dev_guides/Tax_SO_API/Tax_SO_API.pdf))
170170
- Reporting Developer Guides ( [HTML](https://developer.cybersource.com/api/developer-guides/dita-reporting-rest-api-dev-guide-102718/reporting_api.html))
171-
- Payer Authentication Using the Simple Order API ( [HTML](http://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SO_API/html/) | [PDF](http://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SO_API/Payer_Authentication_SO_API.pdf) )
171+
- Payer Authentication Using the Simple Order API ( [HTML](https://developer.cybersource.com/docs/cybs/en-us/payer-authentication/developer/all/so/payer-auth/pa-about-guide.html) | [PDF](https://developer.cybersource.com/content/dam/docs/cybs/en-us/payer-authentication/developer/all/so/payer-auth.pdf) )
172172
- Verification Services Using the Simple Order API ( [HTML](http://apps.cybersource.com/library/documentation/dev_guides/Verification_Svcs_SO_API/html/) | [PDF](http://apps.cybersource.com/library/documentation/dev_guides/Verification_Svcs_SO_API/Verification_Svcs_SO_API.pdf) )
173173
- REST API Reference ( [HTML](https://developer.cybersource.com/api-reference-assets/index.html) )
174174

@@ -2308,12 +2308,13 @@ The following table outlines commands mappers corresponding to each payment oper
23082308

23092309
### Description
23102310

2311-
Identity protection is based on Payer Authentication services for credit card, including Visa Checkout. Payer authentication provides the following services:
2311+
Identity protection is based on Payer Authentication services for credit card. Payer authentication provides the following services:
23122312

2313+
- Setup - configuring and implementing 3-D Secure to verify customer identities and enhance transaction security.
23132314
- Check Enrollment: Determines whether the customer is enrolled in one of the card authentication programs.
23142315
- Validate Authentication: Ensures that the authentication that you receive from the issuing bank is valid
23152316

2316-
For more details, please refer to [Payer Authentication Using the Simple Order API](http://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SO_API/Payer_Authentication_SO_API.pdf)integration guide.
2317+
For more details, please refer to [Payer Authentication Using the Simple Order API](https://developer.cybersource.com/content/dam/docs/cybs/en-us/payer-authentication/developer/all/so/payer-auth.pdf)integration guide.
23172318

23182319
### Implementation details
23192320

@@ -2327,6 +2328,7 @@ In order to simplify creation and setup of a payment service request, a dedicate
23272328

23282329
| **Payment Operation** | **Request builder implementation\*** |
23292330
| --- | --- |
2331+
| Setup | SetUpRequestBuilder |
23302332
| Enrollment | EnrollmentRequestBuilder |
23312333
| Validate | ValidateRequestBuilder |
23322334

@@ -2335,8 +2337,6 @@ In order to simplify creation and setup of a payment service request, a dedicate
23352337
```text
23362338
// for Credit Card payment service
23372339
isv.cjl.payment.service.executor.request.builder.creditcard
2338-
// for Visa Checkout payment service
2339-
isv.cjl.payment.service.executor.request.builder.visacheckout
23402340
```
23412341

23422342
The payment service request is executed through an instance of PaymentServiceExecutor, which dispatches the request to an instance of PaymentServiceProvider component defined through the following [Google Guice](https://github.com/google/guice) module:
@@ -2349,8 +2349,9 @@ The following table outlines Payer Authentication payment service provider compo
23492349

23502350
| **Payment operation** | **Transaction Type\*** | **Object Graph Identifier** |
23512351
| --- | --- | --- |
2352-
| Enrollment | ENROLLMENT | creditCardEnrollment, visaCheckoutEnrollment |
2353-
| Validate | VALIDATE | creditCardValidate, visaCheckoutValidate |
2352+
| Setup | SETUP | creditCardSetUp |
2353+
| Enrollment | ENROLLMENT | creditCardEnrollment |
2354+
| Validate | VALIDATE | creditCardValidate |
23542355

23552356
\* Defined in isv.cjl.payment.enums.PaymentTransactionType
23562357

@@ -2365,17 +2366,13 @@ The bindings for Payer Authentication conversion layer are defined through dedic
23652366
```text
23662367
// for Credit Card payment service
23672368
isv.cjl.module.converter.CreditCardRequestConverterModule
2368-
// for Visa Checkout payment service
2369-
isv.cjl.module.converter.VisaCheckoutRequestConverterModule
23702369
```
23712370

23722371
The example of implementation is defined within the following packages:
23732372

23742373
```text
23752374
// for Credit Card payment service
23762375
isv.cjl.sample.payment.request.converter.creditcard
2377-
// for Visa Checkout payment service
2378-
isv.cjl.sample.payment.request.converter.visacheckout
23792376
```
23802377

23812378
> ![Important](images/important.jpg) The implementation of conversion layer in CJL is provided just to run integration tests and includes only a minimal set of data. A corresponding request converter component should be overridden accordingly by the implementation.
@@ -2384,6 +2381,7 @@ The following table defines sample implementation and corresponding object graph
23842381

23852382
| **Payment Operation** | **Object Graph Identifier\*** | **Sample converter implementation** |
23862383
| --- | --- | --- |
2384+
| Setup | SETUP | SetUpRequestConverter |
23872385
| Enrollment | ENROLLMENT | EnrollmentRequestConverter |
23882386
| Validate | VALIDATE | ValidateRequestConverter |
23892387

@@ -2392,8 +2390,6 @@ The following table defines sample implementation and corresponding object graph
23922390
```text
23932391
// for Credit Card payment service
23942392
isv.cjl.module.util.RequestConverterConstants.CreditCard
2395-
// for Visa Checkout payment service
2396-
isv.cjl.module.util.RequestConverterConstants.VisdaCheckout
23972393
```
23982394

23992395
> ![Note](images/note.jpg) For request converters object graph identifiers there are corresponding constants defined in isv.cjl.module.util.RequestConverterConstants class. It is encouraged to reference these constants rather than string literals in your code.
@@ -2414,6 +2410,7 @@ The following table outlines commands mappers corresponding to each payment oper
24142410

24152411
| **Transaction Type** | **Request Mapper Identifier** | **Response Mapper Identifier** |
24162412
| --- | --- | --- |
2413+
| SETUP | creditCardSetUpRequestMapper | creditCardSetUpResponseMapper |
24172414
| ENROLLMENT | creditCardEnrollmentRequestMapper,visaCheckoutEnrollmentRequestMapper | creditCardEnrollmentResponseMapper,visaCheckoutEnrollmentResponseMapper |
24182415
| VALIDATE | creditCardValidateRequestMapper,visaCheckoutValidateRequestMapper | creditCardValidateResponseMapper,visaCheckoutValidateResponseMapper |
24192416

@@ -2433,36 +2430,6 @@ hystrix.command.creditCardRefundFollowOnCommand.execution.isolation.thread.timeo
24332430
hystrix.command.creditCardVoidCommand.execution.isolation.thread.timeoutInMilliseconds=10000
24342431
```
24352432

2436-
### 3DS 2.x Helper services
2437-
2438-
When using 3DS 2.x, data transfer to Cardinal is done using JWT. CJL provides a utility service that can be used to create and decode Cardinal JWTs
2439-
2440-
```text
2441-
isv.cjl.payment.service.jwt.DefaultJwtService
2442-
```
2443-
2444-
This service relies in the following configuration properties, which are provided by the PSP:
2445-
2446-
```text
2447-
isv.payment.customer.3ds.jwt.api.orgUnitIdisv.payment.customer.3ds.jwt.api.id
2448-
```
2449-
2450-
DefaultJwtService receives Cardinal api key as parameter since the same Cardinal api ID can have multiple keys with different configurations.
2451-
2452-
For more details about Cardinal, please refer to their documentation [https://cardinaldocs.atlassian.net/wiki/spaces/CC/overview](https://cardinaldocs.atlassian.net/wiki/spaces/CC/overview)
2453-
2454-
When using multiple MIDs with different 3DS configurations
2455-
2456-
isv.cjl.payment.service.MerchantService#is3dsEnabled can be useful.
2457-
2458-
It relies in the configuration property
2459-
2460-
```text
2461-
isv.payment.customer.3ds.<MERCHANT_ID>.enabled
2462-
```
2463-
2464-
This property allows the values true/false and can be configured for each MID individually replacing <MERCHANT_ID> by your MID. If the configuration for certain MID is missing, then "true" is taken as default.
2465-
24662433
## REST API Integration
24672434

24682435
### Description
@@ -2480,7 +2447,7 @@ CJL consumes HTTP REST APIs using [Java SDK](https://github.com/CyberSource/cybe
24802447
Java SDK is included in CJL as a dependency:
24812448

24822449
```text
2483-
compile 'com.cybersource:cybersource-rest-client-java:0.0.58'
2450+
compile 'com.cybersource:cybersource-rest-client-java:0.0.75'
24842451
```
24852452

24862453
The dependency above brings in transitively two supporting libraries:
Binary file not shown.

0 commit comments

Comments
 (0)