diff --git a/.github/workflows/main-release.yml b/.github/workflows/main-release.yml index 50aaf7c..924d60a 100644 --- a/.github/workflows/main-release.yml +++ b/.github/workflows/main-release.yml @@ -28,7 +28,7 @@ jobs: - name: Configure git run: | git config user.name "bolt-ci" - git config user.email "bolt-ci@bolt.com" + git config user.email "bolt-ci@boltapp.com" - uses: ./.github/actions/setup diff --git a/README.md b/README.md index 8c63d09..f18c697 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Bolt React Native SDK for payments. Provides Credit Card tokenization, 3D Secure ## Architecture -- **Credit Card (WebView)** — WebView-based, loading secure pages from `connect.bolt.com`. Card data never touches your app (PCI SAQ A compliant). +- **Credit Card (WebView)** — WebView-based, loading secure pages from `connect.boltapp.com`. Card data never touches your app (PCI SAQ A compliant). - **Credit Card (Native)** — Platform-native text fields (`UITextField` on iOS, `EditText` on Android). Card data stays in native memory, never enters the JS heap. Requires Bolt PCI SSS certification for SAQ A — see [Native Credit Card (Beta)](#7-native-credit-card-beta) below. - **Apple Pay & Google Pay** — Native Fabric view components for buttons (`PKPaymentButton` on iOS, `PayButton` on Android) with TurboModules for the payment sheet. @@ -256,7 +256,7 @@ function CheckoutScreen() { ### 6. Styling -Apply global styles to all Bolt components, or per-element styles at creation time. Uses the v3 CSS custom property format (`--bolt-{target}-{property}`). See [Bolt styling docs](https://help.bolt.com/products/checkout/embeddable-checkout/api-implementation/styling/style-components-v3/) for the full list of tokens. +Apply global styles to all Bolt components, or per-element styles at creation time. Uses the v3 CSS custom property format (`--bolt-{target}-{property}`). See [Bolt styling docs](https://help.boltapp.com/products/checkout/embeddable-checkout/api-implementation/styling/style-components-v3/) for the full list of tokens. ```typescript // Global styles — applies to all elements diff --git a/android/src/main/java/com/boltreactnativesdk/creditcardfield/BoltTokenizer.kt b/android/src/main/java/com/boltreactnativesdk/creditcardfield/BoltTokenizer.kt index c020361..b5e6115 100644 --- a/android/src/main/java/com/boltreactnativesdk/creditcardfield/BoltTokenizer.kt +++ b/android/src/main/java/com/boltreactnativesdk/creditcardfield/BoltTokenizer.kt @@ -53,15 +53,15 @@ class BoltTokenizer(environment: String) { when (environment) { "production" -> { baseURL = "https://production.bolttk.com" - fallbackURL = "https://tokenizer.bolt.com" + fallbackURL = "https://tokenizer.boltapp.com" } "sandbox" -> { baseURL = "https://sandbox.bolttk.com" - fallbackURL = "https://tokenizer-sandbox.bolt.com" + fallbackURL = "https://tokenizer-sandbox.boltapp.com" } else -> { // staging baseURL = "https://staging.bolttk.com" - fallbackURL = "https://tokenizer-staging.bolt.com" + fallbackURL = "https://tokenizer-staging.boltapp.com" } } } diff --git a/ios/BoltTokenizer.swift b/ios/BoltTokenizer.swift index a977350..f9ee00c 100644 --- a/ios/BoltTokenizer.swift +++ b/ios/BoltTokenizer.swift @@ -49,13 +49,13 @@ class BoltTokenizer { switch environment { case "sandbox": baseURL = "https://sandbox.bolttk.com" - fallbackURL = "https://tokenizer-sandbox.bolt.com" + fallbackURL = "https://tokenizer-sandbox.boltapp.com" case "staging": baseURL = "https://staging.bolttk.com" - fallbackURL = "https://tokenizer-staging.bolt.com" + fallbackURL = "https://tokenizer-staging.boltapp.com" default: // production (safest default for unknown env strings) baseURL = "https://production.bolttk.com" - fallbackURL = "https://tokenizer.bolt.com" + fallbackURL = "https://tokenizer.boltapp.com" } } diff --git a/package.json b/package.json index fc689a6..b0c58b1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@boltpay/react-native", - "version": "0.9.11", + "version": "0.10.0", "description": "Bolt React Native SDK", "license": "MIT", "main": "./lib/module/index.js", @@ -60,7 +60,7 @@ "type": "git", "url": "git+https://github.com/BoltApp/bolt-react-native-sdk.git" }, - "author": "BoltOwner (https://www.bolt.com)", + "author": "BoltOwner (https://www.boltapp.com)", "bugs": { "url": "https://github.com/BoltApp/bolt-react-native-sdk/issues" }, diff --git a/src/__tests__/ApplePayWebView.test.tsx b/src/__tests__/ApplePayWebView.test.tsx index 2132cee..a4385f5 100644 --- a/src/__tests__/ApplePayWebView.test.tsx +++ b/src/__tests__/ApplePayWebView.test.tsx @@ -39,7 +39,7 @@ jest.mock('../native/NativeApplePay', () => ({ jest.mock('../client/useBolt', () => ({ useBolt: () => ({ publishableKey: 'pk_test_123', - baseUrl: 'https://connect.bolt.com', + baseUrl: 'https://connect.boltapp.com', language: 'en', }), })); diff --git a/src/__tests__/CreditCard.test.tsx b/src/__tests__/CreditCard.test.tsx index caad11c..2cf4ffb 100644 --- a/src/__tests__/CreditCard.test.tsx +++ b/src/__tests__/CreditCard.test.tsx @@ -21,7 +21,7 @@ describe('Bolt', () => { it('should create a Bolt instance with publishableKey', () => { const bolt = new Bolt({ publishableKey: 'pk_test_123' }); expect(bolt.publishableKey).toBe('pk_test_123'); - expect(bolt.baseUrl).toBe('https://connect.bolt.com'); + expect(bolt.baseUrl).toBe('https://connect.boltapp.com'); expect(bolt.language).toBe('en'); }); @@ -30,7 +30,7 @@ describe('Bolt', () => { publishableKey: 'pk_test_123', environment: 'sandbox', }); - expect(bolt.baseUrl).toBe('https://connect-sandbox.bolt.com'); + expect(bolt.baseUrl).toBe('https://connect-sandbox.boltapp.com'); }); it('should use staging URL when environment is staging', () => { @@ -38,7 +38,7 @@ describe('Bolt', () => { publishableKey: 'pk_test_123', environment: 'staging', }); - expect(bolt.baseUrl).toBe('https://connect-staging.bolt.com'); + expect(bolt.baseUrl).toBe('https://connect-staging.boltapp.com'); }); it('should throw when publishableKey is missing', () => { diff --git a/src/__tests__/GoogleWallet.test.tsx b/src/__tests__/GoogleWallet.test.tsx index 466439f..c0159e8 100644 --- a/src/__tests__/GoogleWallet.test.tsx +++ b/src/__tests__/GoogleWallet.test.tsx @@ -38,8 +38,8 @@ jest.mock('../client/useBolt', () => ({ useBolt: () => ({ publishableKey: 'pk_test_123', environment: 'production' as const, - baseUrl: 'https://connect.bolt.com', - apiUrl: 'https://api.bolt.com', + baseUrl: 'https://connect.boltapp.com', + apiUrl: 'https://api.boltapp.com', apiHeaders: () => ({ 'X-Publishable-Key': 'pk_test_123' }), }), })); diff --git a/src/__tests__/NativeCreditCard.test.tsx b/src/__tests__/NativeCreditCard.test.tsx index 2530c04..1e5176b 100644 --- a/src/__tests__/NativeCreditCard.test.tsx +++ b/src/__tests__/NativeCreditCard.test.tsx @@ -33,8 +33,8 @@ jest.mock('../native/NativeBoltCardFieldModule', () => ({ jest.mock('../client/useBolt', () => ({ useBolt: () => ({ publishableKey: 'pk_test_123', - baseUrl: 'https://connect.bolt.com', - apiUrl: 'https://api.bolt.com', + baseUrl: 'https://connect.boltapp.com', + apiUrl: 'https://api.boltapp.com', }), })); diff --git a/src/__tests__/NativeCreditCardComponent.test.tsx b/src/__tests__/NativeCreditCardComponent.test.tsx index 279c2b4..84c3332 100644 --- a/src/__tests__/NativeCreditCardComponent.test.tsx +++ b/src/__tests__/NativeCreditCardComponent.test.tsx @@ -23,8 +23,8 @@ jest.mock('../native/NativeCreditCardField', () => { jest.mock('../client/useBolt', () => ({ useBolt: () => ({ publishableKey: 'pk_test_456', - baseUrl: 'https://connect-sandbox.bolt.com', - apiUrl: 'https://api-sandbox.bolt.com', + baseUrl: 'https://connect-sandbox.boltapp.com', + apiUrl: 'https://api-sandbox.boltapp.com', }), })); diff --git a/src/__tests__/googlePayApi.test.ts b/src/__tests__/googlePayApi.test.ts index f24f142..032b2eb 100644 --- a/src/__tests__/googlePayApi.test.ts +++ b/src/__tests__/googlePayApi.test.ts @@ -32,12 +32,12 @@ describe('fetchGooglePayAPMConfig', () => { json: () => Promise.resolve(mockAPMConfig), }); - await fetchGooglePayAPMConfig('https://api.bolt.com', { + await fetchGooglePayAPMConfig('https://api.boltapp.com', { 'X-Publishable-Key': 'pk_test_abc', }); expect(mockFetch).toHaveBeenCalledWith( - 'https://api.bolt.com/v1/apm_config/googlepay', + 'https://api.boltapp.com/v1/apm_config/googlepay', expect.objectContaining({ method: 'GET', headers: { 'X-Publishable-Key': 'pk_test_abc' }, @@ -53,7 +53,7 @@ describe('fetchGooglePayAPMConfig', () => { }); await expect( - fetchGooglePayAPMConfig('https://api.bolt.com', { + fetchGooglePayAPMConfig('https://api.boltapp.com', { 'X-Publishable-Key': 'bad_key', }) ).rejects.toThrow('Failed to fetch Google Pay config: 401 Unauthorized'); diff --git a/src/__tests__/useCreditCardController.test.ts b/src/__tests__/useCreditCardController.test.ts index 4139634..5465b56 100644 --- a/src/__tests__/useCreditCardController.test.ts +++ b/src/__tests__/useCreditCardController.test.ts @@ -9,8 +9,8 @@ jest.mock('react-native-webview', () => ({})); jest.mock('../client/useBolt', () => ({ useBolt: () => ({ publishableKey: 'pk_test_123', - baseUrl: 'https://connect.bolt.com', - apiUrl: 'https://api-staging.bolt.com', + baseUrl: 'https://connect.boltapp.com', + apiUrl: 'https://api-staging.boltapp.com', getOnPageStyles: () => undefined, }), })); diff --git a/src/__tests__/useNativeCreditCardController.test.ts b/src/__tests__/useNativeCreditCardController.test.ts index 3cfa612..0483c6b 100644 --- a/src/__tests__/useNativeCreditCardController.test.ts +++ b/src/__tests__/useNativeCreditCardController.test.ts @@ -27,8 +27,8 @@ jest.mock('../native/NativeBoltCardFieldModule', () => ({ jest.mock('../client/useBolt', () => ({ useBolt: () => ({ publishableKey: 'pk_test_123', - baseUrl: 'https://connect.bolt.com', - apiUrl: 'https://api-staging.bolt.com', + baseUrl: 'https://connect.boltapp.com', + apiUrl: 'https://api-staging.boltapp.com', }), })); @@ -100,7 +100,7 @@ describe('useNativeCreditCardController', () => { expect(mockTokenize).toHaveBeenCalledWith( 42, 'pk_test_123', - 'https://api-staging.bolt.com' + 'https://api-staging.boltapp.com' ); expect(tokenResult).toEqual({ token: 'bolt_cc_test123', diff --git a/src/bridge/buildIframeUrl.ts b/src/bridge/buildIframeUrl.ts index 23f7d02..d207039 100644 --- a/src/bridge/buildIframeUrl.ts +++ b/src/bridge/buildIframeUrl.ts @@ -13,8 +13,8 @@ export interface IframeUrlParams { * by dom-host.utils.ts in the storm codebase. * * Example output: - * https://connect.bolt.com/src/iframes/credit-card-input/index.html? - * origin=https%3A%2F%2Fconnect.bolt.com&publishableKey=pk_123& + * https://connect.boltapp.com/src/iframes/credit-card-input/index.html? + * origin=https%3A%2F%2Fconnect.boltapp.com&publishableKey=pk_123& * l=en&transport=rn-webview&checkoutPageID=uuid */ export const buildIframeUrl = (params: IframeUrlParams): string => { diff --git a/src/client/Bolt.ts b/src/client/Bolt.ts index e6339c9..ff4de9e 100644 --- a/src/client/Bolt.ts +++ b/src/client/Bolt.ts @@ -9,15 +9,15 @@ export interface BoltConfig { } const ENVIRONMENT_URLS: Record = { - production: 'https://connect.bolt.com', - sandbox: 'https://connect-sandbox.bolt.com', - staging: 'https://connect-staging.bolt.com', + production: 'https://connect.boltapp.com', + sandbox: 'https://connect-sandbox.boltapp.com', + staging: 'https://connect-staging.boltapp.com', }; const API_URLS: Record = { - production: 'https://api.bolt.com', - sandbox: 'https://api-sandbox.bolt.com', - staging: 'https://api-staging.bolt.com', + production: 'https://api.boltapp.com', + sandbox: 'https://api-sandbox.boltapp.com', + staging: 'https://api-staging.boltapp.com', }; export class Bolt { diff --git a/src/native/NativeBoltCardFieldModule.ts b/src/native/NativeBoltCardFieldModule.ts index de9c67e..d6e9efb 100644 --- a/src/native/NativeBoltCardFieldModule.ts +++ b/src/native/NativeBoltCardFieldModule.ts @@ -11,7 +11,7 @@ export interface Spec extends TurboModule { * * @param viewTag React tag of the mounted BoltCreditCardField * @param publishableKey Bolt publishable key for Authorization header - * @param apiUrl Bolt API base URL (api.bolt.com or api-sandbox.bolt.com) + * @param apiUrl Bolt API base URL (api.boltapp.com or api-sandbox.boltapp.com) * @returns JSON-encoded TokenResult or error */ tokenize(