JCB
Intro
Japan Credit Bureau (JCB) was established in January 1961 and two months later issued Japan's first credit card. As Japanese tourists traveled abroad, Japan's credit card companies started issuing cards with US based international brands to secure acceptance abroad. JCB was the only one to decide to establish its own global acceptance and service network. Since the beginning of its international expansion in 1981 JCB acquired over 150 mln card members in 23 countries. JCB is also in a strategic alliance with Discover Network merchants in the United States, UnionPay merchants in China, American Express merchants in Canada, and RuPay merchants in India. As of January 8, 2018 JCB USA will no longer issue JCB cards in the American market, foreign JCB cards will continue to work through the Discover network partnership.
J/Secure
This is a payer authentication program from JCB.
Countries & currencies
Supported countries
- American Samoa
- Andorra
- Australia
- Austria
- Bahrain
- Belgium
- Bonaire, Saba and Sint Eustatius
- Brazil
- Canada
- Christmas Island
- Cocos (Keeling) Islands
- Cyprus
Supported currencies
- Australian dollar (AUD)
- Bahraini dinar (BHD)
- Brazilian real (BRL)
- Canadian dollar (CAD)
- Euro (EUR)
- Hong Kong dollar (HKD)
- Indonesian rupiah (IDR)
- Japanese yen (JPY)
- Malaysian ringgit (MYR)
- New Taiwan dollar (TWD)
- Philippine peso (PHP)
- Pound sterling (GBP)
Integration
- When using the Multi-Network Card Routing feature, you need to notify your customers accordingly. Depending on the integration mode, differences apply. Read our dedicated chapters below for instructions as to your obligations and options. Find detailed information in our dedicated guides about brand detection/preselection and brand ordering.
- eftpos supports only direct sales operations. Therefore, we strongly recommend sending cardPaymentMethodSpecificInput.authorizationMode=SALE in all your CreateHostedCheckout/CreatePayment requests. Our platform will convert "FINAL_AUTHORIZATION" to "SALE" to ensure Multi-Network Cards are processed as eftpos transactions.
We offer this payment methods for the following integration modes. Learn in our dedicated guides about their individual differences:
Find a high level overview in the "Process flows" chapter.
Depending on the integration mode, differences apply:
Hosted Checkout Page
Add the following properties to a standard CreateHostedCheckout request:
{
"HostedCheckoutSpecificInput": {
"ReturnUrl": "https://yourReturnUrl.com"
},
"Order": {
"AmountOfMoney": {
"Amount": 100,
"CurrencyCode": "AUD"
}
}
}
Properties | Remarks |
---|---|
hostedCheckoutSpecificInput.returnURL |
The URL we redirect your customers to after the payment has been finalised. |
order.amountOfMoney |
amount: The gross amount you want to charge for this order. |
To allow our platform to route a Multi-Network Card transaction via eftpos, remove productpaymentId and add property groupCards=true in your request. Find detailed information in our dedicated guides about brand detection/preselection and brand ordering.
Find detailed information about this object and its properties in our CreateHostedCheckoutAPI.
Hosted Tokenization Page
Add the following properties to a standard CreatePayment request (including mandatory 3-D Secure properties) after you have tokenised the card:
{
"CardPaymentMethodSpecificInput": {
"Token": "tokenId",
"ThreeDSecure": {
"RedirectionData": {
"ReturnUrl": "https://yourRedirectionUrl.com"
}
}
},
"Order": {
"AmountOfMoney": {
"Amount": 100,
"CurrencyCode": "AUD"
},
"Customer": {
"Device": {
"AcceptHeader":
"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Locale": "en_EN",
"TimezoneOffsetUtcMinutes": -180,
"UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
"Browserdata": {
"ColorDepth": 24,
"JavaScriptEnabled": false,
"ScreenHeight": "1080",
"ScreenWidth": "1920"
}
}
}
}
}
Properties | Remarks |
---|---|
cardPaymentMethodSpecificInput.token |
Token: The tokenised credit card credentials you have received by tokenising the credentials/getting the token. Learn more in our dedicated Hosted Tokenization Page guide. |
cardPaymentMethodSpecificInput.threeDSecure |
returnURL: The URL we redirect your customers to after the payment has been finalised. |
order.amountOfMoney |
amount: The gross amount you want to charge for this order. |
customer.device |
Minimum properties to comply with SCA for 3-D Secure authentication. Check our dedicated guide to learn how to request 3-D Secure correctly and our API reference for more information about the properties. |
Add paymentProductFilters.exclude to your request to preselect the available brands in the Hosted Tokenization Page iframe, enabling/disabling the Multi-Network Card transaction respectively. To allow our platform to route a Multi-Network Card transaction via eftpos, remove productpaymentId and add property groupCards=true in your request. Find detailed information in our dedicated guides about brand detection/preselection and brand ordering.
Find detailed information about this object and its properties in our HostedTokenizationAPI/ CreatePaymentAPI.
Server-to-server
Add the following properties to a standard CreatePayment request (including mandatory 3-D Secure properties):
{
"CardPaymentMethodSpecificInput": {
"PaymentProductId": XXX,
"SkipAuthentication": false,
"Card": {
"CardholderName": "John Doe",
"CardNumber": "0000000000000000",
"Cvv": 123,
"ExpiryDate": 1236
},
"ThreeDSecure": {
"RedirectionData": {
"ReturnUrl": "https://yourRedirectionUrl.com"
}
}
},
"Order": {
"AmountOfMoney": {
"Amount": 100,
"CurrencyCode": "AUD"
},
"Customer": {
"Device": {
"AcceptHeader": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Locale": "en_EN",
"TimezoneOffsetUtcMinutes": -180,
"UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
"Browserdata": {
"ColorDepth": 24,
"JavaScriptEnabled": false,
"ScreenHeight": "1080",
"ScreenWidth": "1920"
}
}
}
}
}
Properties | Remarks |
---|---|
cardPaymentMethodSpecificInput.paymentProductId cardPaymentMethodSpecificInput.card cardPaymentMethodSpecificInput.ThreeDSecure |
paymentProductId: The numeric identifier of the payment method on our platform. Find this id in the "Overview" chapter.
returnURL: The URL we redirect your customers to after the payment has been finalised. |
order.amountOfMoney |
amount: The gross amount you want to charge for this order. |
customer.device |
Minimum properties to comply with SCA for 3-D Secure authentication. Check our dedicated guide to learn how to request 3-D Secure correctly and our API reference for more information about the properties. |
Find detailed information about this object and its properties in our CreatePaymentAPI.
Process flows
We offer this payment method for all our integration modes. Regardless of the mode you choose, the flow follows some basic steps as described below. Learn in our dedicated guides about the individual differences:
- Your customers finalise an order in your shop and select this payment method.
- You send a CreateHostedCheckout/CreatePayment request to our platform. Depending on your integration mode, differences apply. Check out the “Integration” chapter to find examples for each mode.
- Our platform sends you a response with instructions for the next steps of the flow.
- Your customers provide their credit card number and are redirected to their issuer for 3-D Secure authentication.
- Our system receives the 3-D authentication result from the issuer.
- We process the transaction and receive the result from the acquirer.
- We redirect your customer to your returnUrl
- You request the transaction result from our platform via GetPaymentDetails /GetHostedCheckout or receive the result via webhooks.
- If the transaction was successful, you can deliver the goods / service.
Testing
Refer to our Test cases for test data and detailed instructions.
Make sure to use the right endpoint and switch back to the live URL as soon as you have finished your tests.