0.2.1-rc • Published 21 days ago

bc-checkout-sdk v0.2.1-rc

Weekly downloads
-
License
MIT
Repository
github
Last release
21 days ago

BetterCommerce Checkout NodeJS SDK

BetterCommerce's Checkout NodeJS SDK enables BC client applications to integrate with Checkout merchant API system. It publishes an interface to interact with Checkout API endpoints.

Use below command for package installation:

npm install @better-commerce/bc-checkout-sdk

Architecture Diagram

Architecture Diagram

SDK Initialization

Use following snippet to initialize the SDK:

Client-side Authentication

Uses the public key for client-side authentication.

CheckoutEnvironment.initClient("<public_key>", "<secret_key>");

Server-to-server Authentication

Uses the access secret or OAuth for server-to-server communication.

CheckoutEnvironment.initServer("<client_id>", "<access_secret>", "<processing_channel_id>", [useSandbox: boolean]);

Usage Example

Request Payment on tokenized card

const data = {
    source: {
        type: "token",
        token: "<token_id>",
    },
    amount: 20.99,
    currency: '<currency_code>',
    payment_type: PaymentType.Regular, // Regular | Recurring | MOTO | Installment | Unscheduled
    reference: '<reference>',
    description: '<description>',
    capture: true,
    capture_on: new Date(),
    customer: {
        email: '<email>',
        name: '<full_name>',
    },
    shipping: {
        address: {
            address_line1: '<address_line1>',
            address_line2: '<address_line2>',
            city: '<city>',
            state: '<state>',
            zip: '<zip>',
            country: '<country_code>',
        },
        phone: {
            country_code: '<country_code>',
            number: '<phone_number>',
        },
    },
    processing_channel_id: '<processing_channel_id>',
    metadata: {
        udf1: "",
        udf2: "",
        udf3: "",
        udf4: "",
        udf5: "",
    },
}
const result = await new Payment().request(data);

Response

{
    "id":"pay_pnrjrwewym6edlf7wiojsgsg7i",
    "action_id":"act_ss5v42ehgr3uhnugmtm2fb7cfi",
    "amount":2099,
    "currency":"GBP",
    "approved":true,
    "status":"Authorized",
    "auth_code":"231754",
    "response_code":"10000",
    "response_summary":"Approved",
    "balances":{
        "total_authorized":2099,
        "total_voided":0,
        "available_to_void":2099,
        "total_captured":0,
        "available_to_capture":2099,
        "total_refunded":0,
        "available_to_refund":0
    },
    "risk":{
        "flagged":false,
        "score":0
    },
    "source":{
        "id":"src_qov4l2pirlkuzi3w3i75zwz5eu",
        "type":"card",
        "phone":{

        },
        "expiry_month":10,
        "expiry_year":2023,
        "scheme":"Visa",
        "last4":"4242",
        "fingerprint":"C555164354AF9344A0DC916908C6C478778C46EB496BA9773C857D599F3FE6E5",
        "bin":"424242",
        "card_type":"CREDIT",
        "card_category":"CONSUMER",
        "issuer_country":"GB",
        "product_id":"F",
        "product_type":"Visa Classic",
        "avs_check":"G",
        "cvv_check":"Y",
        "payment_account_reference":"V001353581489756700"
    },
    "customer":{
        "id":"cus_z6jbrwv6rs2ezdljdmxzzkg7yq",
        "email":"new_user@email.com",
        "name":"John Smith"
    },
    "processed_on":"2023-06-01T10:16:54.1811385Z",
    "reference":"ORDER 1234",
    "scheme_id":"809075301971190",
    "processing":{
        "acquirer_transaction_id":"748402123613263045857",
        "retrieval_reference_number":"438387425759",
        "merchant_category_code":"5815",
        "scheme_merchant_id":"77386",
        "aft":false
    },
    "expires_on":"2023-07-01T10:16:54.1811385Z",
    "_links":{
        "self":{
            "href":"https://api.sandbox.checkout.com/payments/pay_pnrjrwewym6edlf7wiojsgsg7i"
        },
        "actions":{
            "href":"https://api.sandbox.checkout.com/payments/pay_pnrjrwewym6edlf7wiojsgsg7i/actions"
        },
        "capture":{
            "href":"https://api.sandbox.checkout.com/payments/pay_pnrjrwewym6edlf7wiojsgsg7i/captures"
        },
        "void":{
            "href":"https://api.sandbox.checkout.com/payments/pay_pnrjrwewym6edlf7wiojsgsg7i/voids"
        }
    }
}

Get Payment Details

const result = await new Payment().getDetails("<payment_id>");

Response

{
    "id":"pay_pnrjrwewym6edlf7wiojsgsg7i",
    "requested_on":"2023-06-01T10:16:54.032019Z",
    "source":{
        "id":"src_qov4l2pirlkuzi3w3i75zwz5eu",
        "type":"card",
        "phone":{
            
        },
        "expiry_month":10,
        "expiry_year":2023,
        "scheme":"Visa",
        "last4":"4242",
        "fingerprint":"C555164354AF9344A0DC916908C6C478778C46EB496BA9773C857D599F3FE6E5",
        "bin":"424242",
        "card_type":"CREDIT",
        "card_category":"CONSUMER",
        "issuer_country":"GB",
        "product_id":"F",
        "product_type":"Visa Classic",
        "avs_check":"G",
        "cvv_check":"Y",
        "payment_account_reference":"V001353581489756700"
    },
    "expires_on":"2023-07-01T10:16:54.1811385Z",
    "amount":2099,
    "currency":"GBP",
    "payment_type":"Regular",
    "reference":"ORDER 1234",
    "description":"Mint Tea",
    "status":"Captured",
    "approved":true,
    "balances":{
        "total_authorized":2099,
        "total_voided":0,
        "available_to_void":0,
        "total_captured":2099,
        "available_to_capture":0,
        "total_refunded":0,
        "available_to_refund":2099
    },
    "risk":{
        "flagged":false,
        "score":0
    },
    "customer":{
        "id":"cus_z6jbrwv6rs2ezdljdmxzzkg7yq",
        "email":"new_user@email.com",
        "name":"John Smith"
    },
    "shipping":{
        "address":{
            "address_line1":"Wall Street",
            "address_line2":"Dollar Avenue",
            "city":"London",
            "state":"London",
            "zip":"W1W W1W",
            "country":"GB"
        },
        "phone":{
            "country_code":"44",
            "number":"7123456789"
        }
    },
    "metadata":{
        
    },
    "processing":{
        "acquirer_transaction_id":"748402123613263045857",
        "retrieval_reference_number":"438387425759",
        "merchant_category_code":"5815",
        "scheme_merchant_id":"77386",
        "aft":false
    },
    "scheme_id":"809075301971190",
    "_links":{
        "self":{
            "href":"https://api.sandbox.checkout.com/payments/pay_pnrjrwewym6edlf7wiojsgsg7i"
        },
        "actions":{
            "href":"https://api.sandbox.checkout.com/payments/pay_pnrjrwewym6edlf7wiojsgsg7i/actions"
        },
        "refund":{
            "href":"https://api.sandbox.checkout.com/payments/pay_pnrjrwewym6edlf7wiojsgsg7i/refunds"
        }
    }
}
0.2.1-rc

21 days ago

0.2.1

3 months ago

0.2.0

3 months ago

0.1.9

5 months ago

0.1.0

7 months ago

0.1.2

7 months ago

0.0.3

9 months ago

0.1.1

7 months ago

0.1.8

7 months ago

0.0.9

7 months ago

0.1.7

7 months ago

0.0.8

7 months ago

0.1.4

7 months ago

0.0.5

8 months ago

0.1.3

7 months ago

0.0.4

8 months ago

0.1.6

7 months ago

0.0.7

7 months ago

0.1.5

7 months ago

0.0.6

8 months ago

0.0.2

11 months ago

0.0.1

11 months ago