@inkress/admin-sdk 1.1.46 → 1.1.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -42,7 +42,7 @@ import { InkressSDK } from '@inkress/admin-sdk';
42
42
 
43
43
  const inkress = new InkressSDK({
44
44
  accessToken: 'your-jwt-token',
45
- username: 'merchant-username', // Optional
45
+ username: 'merchant-username', // Optional - only needed for merchant operations
46
46
  mode: 'live', // Optional - 'live' (default) or 'sandbox'
47
47
  });
48
48
  ```
@@ -222,6 +222,7 @@ The SDK provides access to 23+ fully-typed resources:
222
222
  - **Subscriptions** - Recurring billing and subscriptions
223
223
  - **Payment Links** - Payment link generation
224
224
  - **Payment Methods** - Payment method configuration
225
+ - **Checkout Sessions** - Embedded checkout for card payments
225
226
 
226
227
  ### Financial
227
228
  - **Financial Accounts** - Account management
@@ -702,6 +703,231 @@ await inkress.paymentLinks.update(linkId, { amount: 89.99 });
702
703
  await inkress.paymentLinks.delete(linkId);
703
704
  ```
704
705
 
706
+ ### Checkout Sessions (Embedded Checkout)
707
+
708
+ Checkout Sessions enable embedded payment forms that can be integrated directly into your website via an iframe. This provides a seamless checkout experience without redirecting customers away from your site.
709
+
710
+ ```typescript
711
+ // Create a checkout session
712
+ const session = await inkress.checkoutSessions.create({
713
+ reference_id: 'order-123',
714
+ total: 100.00,
715
+ kind: 'online',
716
+ currency_code: 'JMD',
717
+ title: 'Premium Subscription',
718
+ customer: {
719
+ email: 'customer@example.com',
720
+ first_name: 'John',
721
+ last_name: 'Doe',
722
+ phone: '+1234567890'
723
+ }
724
+ });
725
+
726
+ // Access the iframe URL for embedding
727
+ const iframeUrl = session.result.frame_url;
728
+ const sessionId = session.result.session_id;
729
+
730
+ // Get session details
731
+ const details = await inkress.checkoutSessions.get('S.75a29ad32e52');
732
+ console.log(details.result.status); // 'pending', 'awaiting_payment', 'completed', etc.
733
+
734
+ // Cancel a session
735
+ await inkress.checkoutSessions.delete('S.75a29ad32e52');
736
+ ```
737
+
738
+ #### Embedding the Checkout Iframe
739
+
740
+ The checkout session returns a `frame_url` that you can embed in your page:
741
+
742
+ ```html
743
+ <!-- Embed the checkout iframe -->
744
+ <iframe
745
+ id="inkress-checkout"
746
+ src="https://inkress.com/checkout/session/S.75a29ad32e52"
747
+ style="width: 100%; height: 600px; border: none;"
748
+ allow="payment"
749
+ ></iframe>
750
+ ```
751
+
752
+ #### Handling Checkout Events
753
+
754
+ The embedded checkout iframe emits two important `postMessage` events that your application should listen for:
755
+
756
+ | Event | Description | When Fired |
757
+ |-------|-------------|------------|
758
+ | `frame_unload` | User has entered card information | Card details submitted to payment processor |
759
+ | `payment_posted` | Payment attempt completed | After 3DS verification or payment processing |
760
+
761
+ ```typescript
762
+ const session_id = mySession.id;
763
+ // Listen for checkout events from the iframe
764
+ window.addEventListener('message', (event) => {
765
+ // Verify the origin for security
766
+ if (event.origin !== 'https://inkress.com') {
767
+ return;
768
+ }
769
+
770
+ const { type, data } = event.data;
771
+
772
+ switch (type) {
773
+ case 'frame_unload':
774
+ // User has entered their card information
775
+ // The iframe is processing the payment
776
+ console.log('Payment processing started...');
777
+ expandFrameFor3DS();
778
+ break;
779
+
780
+ case 'payment_posted':
781
+ // Payment attempt has completed
782
+ // Check the session status to determine outcome
783
+ handlePaymentResult();
784
+ break;
785
+ }
786
+ });
787
+
788
+ async function handlePaymentResult() {
789
+ // Fetch the updated session to get the final status
790
+ const session = await inkress.checkoutSessions.get(dsession_id);
791
+
792
+ if (session.result.status === 'completed') {
793
+ // Payment successful!
794
+ showSuccessMessage();
795
+ redirectToConfirmation(session.result.order_id);
796
+ } else {
797
+ // Payment failed or requires action
798
+ showErrorMessage('Payment could not be completed. Please try again.');
799
+ }
800
+ }
801
+ ```
802
+
803
+ #### Complete Integration Example
804
+
805
+ ```typescript
806
+ import { InkressSDK } from '@inkress/admin-sdk';
807
+
808
+ const inkress = new InkressSDK({
809
+ accessToken: 'your-jwt-token',
810
+ username: 'your-merchant'
811
+ });
812
+
813
+ async function initializeCheckout(orderData: {
814
+ total: number;
815
+ currency: string;
816
+ customer: { email: string; firstName: string; lastName: string; phone: string };
817
+ }) {
818
+ // 1. Create the checkout session
819
+ const session = await inkress.checkoutSessions.create({
820
+ reference_id: `${Math.random().toString(36).substring(2, 9)}`,
821
+ total: orderData.total,
822
+ kind: 'online',
823
+ currency_code: orderData.currency,
824
+ title: 'Your Order',
825
+ customer: {
826
+ email: orderData.customer.email,
827
+ first_name: orderData.customer.firstName,
828
+ last_name: orderData.customer.lastName,
829
+ phone: orderData.customer.phone
830
+ }
831
+ });
832
+
833
+ // 2. Store session details for later reference
834
+ const sessionId = session.result.session_id;
835
+ const expiresAt = session.result.expires;
836
+
837
+ // 3. Display the checkout iframe
838
+ const iframe = document.createElement('iframe');
839
+ iframe.src = session.result.frame_url;
840
+ iframe.style.cssText = 'width: 100%; height: 600px; border: none;';
841
+ iframe.allow = 'payment';
842
+ document.getElementById('checkout-container')!.appendChild(iframe);
843
+
844
+ // 4. Set up event listeners
845
+ window.addEventListener('message', async (event) => {
846
+ if (event.origin !== 'https://inkress.com') return;
847
+
848
+ const { type } = event.data;
849
+
850
+ if (type === 'frame_unload') {
851
+ // Show loading state while payment processes
852
+ document.getElementById('loading-overlay')!.style.display = 'flex';
853
+ }
854
+
855
+ if (type === 'payment_posted') {
856
+ // Check final payment status
857
+ const updatedSession = await inkress.checkoutSessions.get(sessionId);
858
+
859
+ if (updatedSession.result.status === 'completed') {
860
+ window.location.href = `/order-confirmation?order=${updatedSession.result.order_id}`;
861
+ } else {
862
+ document.getElementById('loading-overlay')!.style.display = 'none';
863
+ alert('Payment failed. Please try again.');
864
+ }
865
+ }
866
+ });
867
+
868
+ // 5. Handle session expiration
869
+ const timeUntilExpiry = expiresAt - Date.now();
870
+ setTimeout(() => {
871
+ alert('Your checkout session has expired. Please try again.');
872
+ window.location.reload();
873
+ }, timeUntilExpiry);
874
+
875
+ return { sessionId, expiresAt };
876
+ }
877
+ ```
878
+
879
+ #### Session Response Structure
880
+
881
+ ```typescript
882
+ interface CreateCheckoutSessionResponse {
883
+ session_id: string; // e.g., 'S.75a29ad32e52'
884
+ reference_id: string; // Your order reference
885
+ status: string; // 'pending'
886
+ order_id: string; // Internal order ID
887
+ currency: string; // e.g., 'JMD'
888
+ currency_code: string; // e.g., 'JMD'
889
+ created_at: string; // ISO timestamp
890
+ payment_initiated_at: string; // ISO timestamp
891
+ completed_at: string | null; // null until completed
892
+ expires: number; // Expiration timestamp (ms)
893
+
894
+ // Payment totals breakdown
895
+ totals: {
896
+ sub_total: number;
897
+ customer_total: number; // Amount customer pays
898
+ merchant_total: number; // Amount merchant receives
899
+ platform_total: number;
900
+ provider_total: number;
901
+ shipping_total: number;
902
+ tax_total: number;
903
+ discount_total: number;
904
+ };
905
+
906
+ // Customer info
907
+ customer: {
908
+ id: number | null;
909
+ email: string;
910
+ first_name: string;
911
+ last_name: string;
912
+ phone: string;
913
+ };
914
+
915
+ // Iframe and payment data
916
+ frame_url: string; // URL to embed in iframe
917
+ redirect_data: string; // 3DS redirect HTML (if needed)
918
+ spi_token: string; // Payment processor token
919
+ transaction_id: string; // Transaction UUID
920
+ amount: number; // Total amount
921
+
922
+ // Additional fields
923
+ title: string;
924
+ products: any[];
925
+ transaction_type: string | null;
926
+ three_d_secure: any | null;
927
+ is_subscription: boolean;
928
+ }
929
+ ```
930
+
705
931
  ### Financial Accounts
706
932
 
707
933
  ```typescript
package/dist/index.d.ts CHANGED
@@ -20,6 +20,7 @@ import { FeesResource } from './resources/fees';
20
20
  import { PaymentMethodsResource } from './resources/payment-methods';
21
21
  import { TransactionEntriesResource } from './resources/transaction-entries';
22
22
  import { GenericsResource } from './resources/generics';
23
+ import { CheckoutSessionsResource } from './resources/checkout-sessions';
23
24
  /**
24
25
  * Main Inkress Commerce API SDK class
25
26
  *
@@ -86,6 +87,7 @@ export declare class InkressSDK {
86
87
  readonly paymentMethods: PaymentMethodsResource;
87
88
  readonly transactionEntries: TransactionEntriesResource;
88
89
  readonly generics: GenericsResource;
90
+ readonly checkoutSessions: CheckoutSessionsResource;
89
91
  constructor(config: InkressConfig);
90
92
  /**
91
93
  * Update the SDK configuration
@@ -100,6 +102,7 @@ export * from './types';
100
102
  export * from './client';
101
103
  export type { WebhookPayload, WebhookVerificationOptions, IncomingWebhookRequest, } from './resources/webhook-urls';
102
104
  export { KYC_DOCUMENT_REQUIREMENTS, type EntityType, type KycDocumentType, type KycDocumentStatus, type KycRequirements, } from './resources/kyc';
105
+ export type { CheckoutSession, CheckoutSessionStatus, CheckoutSessionFees, CheckoutSessionFeeMapping, CheckoutSessionTotals, CheckoutSessionCurrency, CheckoutSessionCustomer, CreateCheckoutSessionResponseData, DeleteCheckoutSessionResponseData, } from './resources/checkout-sessions';
103
106
  export type { BankInfoUpdateRequestData, BankAccountUpdateRequestResponse, BankAccountUpdateConfirmResponse, } from './resources/merchants';
104
107
  export { InkressSDK as default };
105
108
  export type { OrderQueryParams, ProductQueryParams, UserQueryParams, MerchantQueryParams, CategoryQueryParams, BillingPlanQueryParams, SubscriptionQueryParams, PaymentLinkQueryParams, FinancialAccountQueryParams, FinancialRequestQueryParams, WebhookUrlQueryParams, TokenQueryParams, AddressQueryParams, CurrencyQueryParams, ExchangeRateQueryParams, FeeQueryParams, PaymentMethodQueryParams, TransactionEntryQueryParams, OrderFilterParams, ProductFilterParams, UserFilterParams, MerchantFilterParams, CategoryFilterParams, BillingPlanFilterParams, SubscriptionFilterParams, PaymentLinkFilterParams, FinancialAccountFilterParams, FinancialRequestFilterParams, WebhookUrlFilterParams, TokenFilterParams, AddressFilterParams, CurrencyFilterParams, ExchangeRateFilterParams, FeeFilterParams, PaymentMethodFilterParams, TransactionEntryFilterParams, OrderListResponse, ProductListResponse, UserListResponse, MerchantListResponse, CategoryListResponse, BillingPlanListResponse, SubscriptionListResponse, PaymentLinkListResponse, FinancialAccountListResponse, FinancialRequestListResponse, WebhookUrlListResponse, TokenListResponse, AddressListResponse, CurrencyListResponse, ExchangeRateListResponse, FeeListResponse, PaymentMethodListResponse, TransactionEntryListResponse, PageInfo, } from './types/resources';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.esm.js CHANGED
@@ -4857,6 +4857,93 @@ class GenericsResource {
4857
4857
  }
4858
4858
  }
4859
4859
 
4860
+ /**
4861
+ * Checkout Sessions Resource
4862
+ *
4863
+ * Handles creation and management of checkout sessions for payments.
4864
+ * Checkout sessions provide a way to create temporary payment sessions
4865
+ * with pre-calculated fees and payment URLs.
4866
+ */
4867
+ class CheckoutSessionsResource {
4868
+ constructor(client) {
4869
+ this.client = client;
4870
+ }
4871
+ /**
4872
+ * Create a new checkout session
4873
+ *
4874
+ * Creates a checkout session with pre-calculated fees and returns
4875
+ * payment URLs for processing the payment.
4876
+ *
4877
+ * Requires Client-Id header to be set in the configuration.
4878
+ *
4879
+ * @param data - Order data for the checkout session (same as order creation)
4880
+ * @returns The created checkout session with payment URLs and fee breakdown
4881
+ *
4882
+ * @example
4883
+ * ```typescript
4884
+ * const session = await sdk.checkoutSessions.create({
4885
+ * reference_id: 'order-123',
4886
+ * total: 100.00,
4887
+ * kind: 'online',
4888
+ * currency_code: 'JMD',
4889
+ * customer: {
4890
+ * email: 'customer@example.com',
4891
+ * first_name: 'John',
4892
+ * last_name: 'Doe',
4893
+ * phone: '+1234567890'
4894
+ * },
4895
+ * title: 'My Order'
4896
+ * });
4897
+ *
4898
+ * // Redirect customer to payment URL
4899
+ * console.log(session.result.payment_url);
4900
+ * ```
4901
+ */
4902
+ async create(data) {
4903
+ return this.client.post('/checkout/sessions', data);
4904
+ }
4905
+ /**
4906
+ * Get checkout session details by session ID
4907
+ *
4908
+ * Retrieves the current state of a checkout session including
4909
+ * payment status, customer info, and fee breakdown.
4910
+ *
4911
+ * Requires Client-Id header to be set in the configuration.
4912
+ *
4913
+ * @param sessionId - The session ID (e.g., 'S.75a29ad32e52')
4914
+ * @returns The checkout session details
4915
+ *
4916
+ * @example
4917
+ * ```typescript
4918
+ * const session = await sdk.checkoutSessions.get('S.75a29ad32e52');
4919
+ * console.log(session.result.status); // 'awaiting_payment'
4920
+ * ```
4921
+ */
4922
+ async get(sessionId) {
4923
+ return this.client.get(`/checkout/sessions/${sessionId}`);
4924
+ }
4925
+ /**
4926
+ * Delete (cancel) a checkout session
4927
+ *
4928
+ * Cancels an active checkout session. Once cancelled, the session
4929
+ * can no longer be used for payment.
4930
+ *
4931
+ * Requires Client-Id header to be set in the configuration.
4932
+ *
4933
+ * @param sessionId - The session ID to cancel (e.g., 'S.75a29ad32e52')
4934
+ * @returns Confirmation of the cancellation
4935
+ *
4936
+ * @example
4937
+ * ```typescript
4938
+ * const result = await sdk.checkoutSessions.delete('S.75a29ad32e52');
4939
+ * console.log(result.result); // 'Session cancelled'
4940
+ * ```
4941
+ */
4942
+ async delete(sessionId) {
4943
+ return this.client.delete(`/checkout/sessions/${sessionId}`);
4944
+ }
4945
+ }
4946
+
4860
4947
  /**
4861
4948
  * Main Inkress Commerce API SDK class
4862
4949
  *
@@ -4925,6 +5012,7 @@ class InkressSDK {
4925
5012
  this.paymentMethods = new PaymentMethodsResource(this.client);
4926
5013
  this.transactionEntries = new TransactionEntriesResource(this.client);
4927
5014
  this.generics = new GenericsResource(this.client);
5015
+ this.checkoutSessions = new CheckoutSessionsResource(this.client);
4928
5016
  }
4929
5017
  /**
4930
5018
  * Update the SDK configuration