diff --git a/packages/blockchain-wallet-v4-frontend/src/data/analytics/types/misc.ts b/packages/blockchain-wallet-v4-frontend/src/data/analytics/types/misc.ts index def90bf9279..40ca88e4a37 100644 --- a/packages/blockchain-wallet-v4-frontend/src/data/analytics/types/misc.ts +++ b/packages/blockchain-wallet-v4-frontend/src/data/analytics/types/misc.ts @@ -3,7 +3,9 @@ export enum MiscEvents { CUSTOMER_SUPPORT_CLICKED = 'Customer Support Clicked', SIGNUP_VIEWED = 'Signup Viewed', WRONG_CHANGE_CACHE = 'Wrong Change Cache', - WRONG_RECEIVE_CACHE = 'Wrong Receive Cache' + WRONG_RECEIVE_CACHE = 'Wrong Receive Cache', + BITPAY_LINK = 'Bitpay Deeplink detected', + BITPAY_INVOICE_VALID = 'Bitpay invoice' } export type MiscActions = { diff --git a/packages/blockchain-wallet-v4-frontend/src/data/components/sendBch/sagas.ts b/packages/blockchain-wallet-v4-frontend/src/data/components/sendBch/sagas.ts index ca2fd85756f..c60d11aece2 100644 --- a/packages/blockchain-wallet-v4-frontend/src/data/components/sendBch/sagas.ts +++ b/packages/blockchain-wallet-v4-frontend/src/data/components/sendBch/sagas.ts @@ -101,6 +101,15 @@ export default ({ api, coreSagas, networks }: { api: APIType; coreSagas: any; ne title: C.BITPAY_CONFIRM_TITLE }) ) + yield put( + actions.analytics.trackEvent({ + key: Analytics.BITPAY_INVOICE_VALID, + properties: { + coin: 'BCH' + } + }) + ) + const { canceled } = yield race({ canceled: take(actions.modals.closeModal.type), response: take(actionTypes.wallet.SUBMIT_CONFIRMATION) @@ -116,6 +125,7 @@ export default ({ api, coreSagas, networks }: { api: APIType; coreSagas: any; ne name: 'paymentProtocol' }) ) + return yield put(actions.goals.runGoals()) } diff --git a/packages/blockchain-wallet-v4-frontend/src/data/components/sendBtc/sagas.ts b/packages/blockchain-wallet-v4-frontend/src/data/components/sendBtc/sagas.ts index 0dd2ed966b8..4a8a748f847 100644 --- a/packages/blockchain-wallet-v4-frontend/src/data/components/sendBtc/sagas.ts +++ b/packages/blockchain-wallet-v4-frontend/src/data/components/sendBtc/sagas.ts @@ -116,6 +116,14 @@ export default ({ api, coreSagas, networks }: { api: APIType; coreSagas: any; ne title: C.BITPAY_CONFIRM_TITLE }) ) + yield put( + actions.analytics.trackEvent({ + key: Analytics.BITPAY_INVOICE_VALID, + properties: { + coin: 'BTC' + } + }) + ) const { canceled } = yield race({ canceled: take(actions.modals.closeModal.type), response: take(actionTypes.wallet.SUBMIT_CONFIRMATION) diff --git a/packages/blockchain-wallet-v4-frontend/src/data/goals/sagas.ts b/packages/blockchain-wallet-v4-frontend/src/data/goals/sagas.ts index 9b465969fdb..b5f88e9834b 100644 --- a/packages/blockchain-wallet-v4-frontend/src/data/goals/sagas.ts +++ b/packages/blockchain-wallet-v4-frontend/src/data/goals/sagas.ts @@ -19,7 +19,7 @@ import { parsePaymentRequest } from 'data/bitpay/sagas' import { NftOrderStepEnum } from 'data/components/nfts/types' import { ModalName } from 'data/modals/types' import profileSagas from 'data/modules/profile/sagas' -import { ProductEligibilityForUser, SofiUserMigrationStatus } from 'data/types' +import { Analytics, ProductEligibilityForUser, SofiUserMigrationStatus } from 'data/types' import * as C from 'services/alerts' import { WAIT_FOR_INTEREST_PROMO_MODAL } from './model' @@ -224,6 +224,14 @@ export default ({ api, coreSagas, networks }) => { yield put(actions.goals.saveGoal({ data, name: 'paymentProtocol' })) yield put(actions.router.push('/wallet')) yield put(actions.alerts.displayInfo(C.PLEASE_LOGIN)) + yield put( + actions.analytics.trackEvent({ + key: Analytics.BITPAY_LINK, + properties: { + coin: isBchPayPro ? 'BCH' : 'BTC' + } + }) + ) } else { // BTC payments const { address } = bip21Payload