---
title: "BC Card"
canonical_url: https://docs.connect.worldline-solutions.com/payment-product/bc-card/integration
---

* [Overview](https://docs.connect.worldline-solutions.com/payment-product/bc-card/overview/globalcollect.md)
* [Countries \& currencies](https://docs.connect.worldline-solutions.com/payment-product/bc-card/countries-and-currencies/globalcollect.md)
* [Integration](https://docs.connect.worldline-solutions.com/payment-product/bc-card/integration/globalcollect.md)
* [Process flows](https://docs.connect.worldline-solutions.com/payment-product/bc-card/process-flows/globalcollect.md)
* [Testing](https://docs.connect.worldline-solutions.com/payment-product/bc-card/testing/globalcollect.md)
* [Additional information](https://docs.connect.worldline-solutions.com/payment-product/bc-card/additional-information/globalcollect.md)
* [Consumer experience](https://docs.connect.worldline-solutions.com/payment-product/bc-card/consumer-experience/globalcollect.md)
* [Reporting](https://docs.connect.worldline-solutions.com/payment-product/bc-card/reporting/globalcollect.md)
* [FAQ](https://docs.connect.worldline-solutions.com/payment-product/bc-card/faqs/globalcollect.md)

# Integration

* [Using MyCheckout hosted payment pages](https://docs.connect.worldline-solutions.com/payment-product/bc-card/integration.md#mycheckout)
* [Using your own checkout page](https://docs.connect.worldline-solutions.com/payment-product/bc-card/integration.md#own-checkout)

## Before you begin

To follow along with this guide, please ensure that you have the following ready:

* The correct [API endpoint](https://apireference.connect.worldline-solutions.com/s2sapi/v1/en_US/json/endpoints.html?paymentPlatform=ALL)
* A way to construct the [authorization header](https://apireference.connect.worldline-solutions.com/s2sapi/v1/en_US/json/authentication.html?paymentPlatform=ALL) (API Explorer, [SDKs](https://docs.connect.worldline-solutions.com/documentation/sdk/.md), etc.)
* A way to send REST API calls (API Explorer, [SDKs](https://docs.connect.worldline-solutions.com/documentation/sdk/.md), etc.)

## MyCheckout hosted payment pages

1. Make a [POST
   /v1/{merchantId}/hostedcheckouts](https://apireference.connect.worldline-solutions.com/s2sapi/v1/en_US/java/hostedcheckouts/create.html?paymentPlatform=ALL) API call.
2. Create the order object containing the following elements:

* amountOfMoney, including amount and currencyCode
* customer, including billingAddress and countryCode

POST HOSTEDCHECKOUTS REQUESTCopy

        {
            "order": {
                "amountOfMoney": {
                    "amount": 100,
                    "currencyCode": "KRW"
                },
                "customer": {
                    "billingAddress": {
                        "countryCode": "KR"
                    }
                }
            }
        }
        
POST HOSTEDCHECKOUTS RESPONSECopy

        {
           "RETURNMAC" : "33893c8a-1e6f-4e02-9015-9d4e34b08d41",
           "hostedCheckoutId" : "0634e88f-7255-71ff-860e-3f55f70978cc",
           "partialRedirectUrl" : "pay2.preprod.checkout.worldline-solutions.com/checkout/9991-faa4d336e2384de3bde7ce62beb3f127:065e9dd7-b56e-71ff-8ded-48133a47970b:2dc35d06fa7a43c19b22cca466a50cdd"
        }
        
From the response, the important properties are:

* hostedCheckoutId -- can be used in subsequent API calls to retrieve the transaction details, such as [GET/v1/{merchantId}/hostedcheckouts/{hostedCheckoutId}](https://apireference.connect.worldline-solutions.com/s2sapi/v1/en_US/java/hostedcheckouts/get.html?paymentPlatform=ALL)
* partialRedirectUrl -- is used to create the URL to which the customer needs to be redirected (by default, we configure every account with the subdomain payment, so you can always connect **https://payment.** with the partialRedirectUrl, for example:

https://payment.pay2.preprod.checkout.worldline-solutions.com/checkout/9991-faa4d336e2384de3bde7ce62beb3f127:065e9dd7-b56e-71ff-8ded-48133a47970b:2dc35d06fa7a43c19b22cca466a50cdd  
The hostedCheckoutId is only valid for 2 hours, please ensure to store the createdPaymentOutput.payment.id from the [GET
/v1/{merchantId}/hostedcheckouts/{hostedCheckoutId}](https://apireference.connect.worldline-solutions.com/s2sapi/v1/en_US/java/hostedcheckouts/get.html?paymentPlatform=ALL) response to be able to retrieve data after 2 hours have elapsed via the [GET
/v1/{merchantId}/payments/{paymentId}](https://apireference.connect.worldline-solutions.com/s2sapi/v1/en_US/json/payments/get.html?paymentPlatform=ALL) API call. Alternatively, we can also optionally send a [webhook event](https://docs.connect.worldline-solutions.com/documentation/webhooks/index.md) that will contain it.

## Using your own checkout page

You can build a direct integration using our [SDKs](https://docs.connect.worldline-solutions.com/documentation/sdk/index.md) (or integrate our
API from scratch). Depending on your integration needs, there are several options available.

### Client Encryption

Our [Client API](https://apireference.connect.worldline-solutions.com/c2sapi/v1/en_US/index.html?paymentPlatform=ALL) allows you to perform
various actions, such as collecting card data without being PCI SAQ-D compliant. All you need is to be able to create a session via the [POST/v1/{merchantId}/sessions](https://apireference.connect.worldline-solutions.com/s2sapi/v1/en_US/json/sessions/create.html?paymentPlatform=ALL)
API call, which will grant you access to the Client API.

It's highly recommended that you use our [Client SDKs](https://docs.connect.worldline-solutions.com/documentation/sdk/mobile/.md), provided for
the following programming languages:

* [JavaScript](https://docs.connect.worldline-solutions.com/documentation/sdk/mobile/javascript/.md)
* [Java](https://docs.connect.worldline-solutions.com/documentation/sdk/mobile/android/.md)
* [Swift](https://docs.connect.worldline-solutions.com/documentation/sdk/mobile/swift/.md)
* [Objective-C](https://docs.connect.worldline-solutions.com/documentation/sdk/mobile/ios/.md)

We also have reference implementations showing how to use these SDKs on [GitHub](https://github.com/worldline-global-collect)

### Raw data

If you wish to do a direct server-to-server API call, go for this option. The difference with the other options mentioned before is that you don't need
to submit an encryptedCustomerInput property. After the customer selects the payment product, you need to perform the
following:

1. Make a [POST
   /v1/{merchantId}/payments](https://apireference.connect.worldline-solutions.com/s2sapi/v1/en_US/json/payments/create.html?paymentPlatform=ALL) API call.
2. Create the order object requiring the following properties:

* amountOfMoney, including amount and currencyCode
* customer, including billingAddress and countryCode

1. Create the cardPaymentMethodSpecificInput object requiring the following properties:

* paymentProductId
* card, including partialPin, cardNumber, and expiryDate

POST PAYMENTS REQUESTCopy

        {
            "order": {
                "amountOfMoney": {
                    "amount": 100,
                    "currencyCode": "KRW"
                },
                "customer": {
                    "billingAddress": {
                        "countryCode": "KR"
                    }
                }
            },
            "cardPaymentMethodSpecificInput": {
                "paymentProductId": 180,
                "card": {
                    "partialPin": "12",
                    "cardNumber": "3560032233031383",
                    "expiryDate": "1224"
                }
            }
        }
        
POST PAYMENTS RESPONSECopy

        {
           "creationOutput" : {
              "additionalReference" : "00000099601000010577",
              "externalReference" : "000000996010000105770000100001"
           },
           "payment" : {
              "id" : "000000996010000105770000100001",
              "paymentOutput" : {
                 "amountOfMoney" : {
                    "amount" : 100,
                    "currencyCode" : "KRW"
                 },
                 "references" : {
                    "paymentReference" : "0",
                    "providerId" : "3700",
                    "providerReference" : "0996010000105770000100001"
                 },
                 "paymentMethod" : "card",
                 "cardPaymentMethodSpecificOutput" : {
                    "paymentProductId" : 180,
                    "authorisationCode" : "AUTH00000290",
                    "fraudResults" : {
                       "fraudServiceResult" : "no-advice",
                       "avsResult" : "0",
                       "cvvResult" : "0"
                    },
                    "card" : {
                       "cardNumber" : "356003******1383",
                       "expiryDate" : "1224"
                    }
                 }
              },
              "status" : "CAPTURE_REQUESTED",
              "statusOutput" : {
                 "isCancellable" : false,
                 "isRetriable" : false,
                 "statusCategory" : "PENDING_CONNECT_OR_3RD_PARTY",
                 "statusCode" : 975,
                 "statusCodeChangeDateTime" : "20231017132929",
                 "isAuthorized" : true,
                 "isRefundable" : true
              }
           }
        }
        
[Next Process flows](https://docs.connect.worldline-solutions.com/payment-product/bc-card/process-flows/globalcollect.md)
