Other Pages

The smaller feature pages, each a lazy-loaded module.

Partners — /partners

PartnersModule. A directory of Payability’s partner integrations.

partners.component.ts

Page shell with category filtering.

partners-list/

The filtered list.

partner-item/

One partner card.

partner-item-placeholder/

Loading skeleton.

partners.const.ts

The partner catalog.

partners.service.ts

Data access and filtering.

export enum PartnerTypeEnum {
    All               = 0,
    Marketplaces      = 1,
    EcommerceTools    = 2,
    Shipping          = 3,
    SolutionProviders = 4,
}

No permission gate.

Referral — /referral

MoreFromPayabilityModule, containing the referral/ sub-module. Requires the REFERRAL permission, which is denied while the supplier is onboarding.

ReferralService builds a personalised referral link:

getReferralLink(): string {
    const referralUrl = this.environmentService.referralUrl;
    const user        = this.userService.getCurrentUser();
    const referralKey = this.createReferralLinkKey(user);
    return `${referralUrl}${referralKey}`;
}

private createReferralLinkKey(user: User): string {
    return `${this.createLegalNamePart(user)}${this.createSupplierKeyPart(user)}`;
}

private createLegalNamePart(user: User): string {
    return this.slugify(user.companyName).substring(0, 10);   (1)
}
1 The key is a slugified, 10-character company-name prefix followed by a supplier-key segment — human-recognisable but still unique.

The base URL comes from environment.referralUrl. referral-banner promotes the programme from the dashboard, gated on the same permission.

PayShield Subscription — /payshield-subscription

PayshieldSubscriptionModule. A PayPal-hosted subscription checkout for the PayShield product.

const PAYPAL_SDK_URL = 'https://www.paypal.com/sdk/js?client-id=…&vault=true&intent=subscription';
const BUTTON_CONTAINER_ID = '#paypal-button-container';

export const PAYSHIELD_PLANS: PayshieldPlan[] = [
    { id: 'P-1D465283B52778401NIP6C3I', nameKey: 'PAYSHIELD_SUBSCRIPTION.PLAN_STARTER_NAME',      descriptionKey: '…PLAN_STARTER_DESC' },
    { id: 'P-4LB22406VJ150201WNIMJE5A', nameKey: 'PAYSHIELD_SUBSCRIPTION.PLAN_GROWTH_NAME',       descriptionKey: '…PLAN_GROWTH_DESC' },
    { id: 'P-30A88013RL5816821NIMIGRY', nameKey: 'PAYSHIELD_SUBSCRIPTION.PLAN_PROFESSIONAL_NAME', descriptionKey: '…PLAN_PROFESSIONAL_DESC' },
    { id: 'P-1B7255942M655732SNIMIG4Q', nameKey: 'PAYSHIELD_SUBSCRIPTION.PLAN_SCALE_NAME',        descriptionKey: '…PLAN_SCALE_DESC' },
    { id: 'P-2VW63152FE618402ENIMIHHQ', nameKey: 'PAYSHIELD_SUBSCRIPTION.PLAN_ENTERPRISE_NAME',   descriptionKey: '…PLAN_ENTERPRISE_DESC' },
];

The PayPal client id and the five plan ids are hardcoded in the component, not read from environment. They are therefore identical in every environment, including local development — an order placed from a dev build hits the same PayPal plans as production. Treat this page with care when testing.

The component loads the PayPal SDK dynamically and renders the subscription button into #paypal-button-container. It implements OnDestroy to tear the SDK down on navigation.

No permission gate.

Blog — /blog

BlogPageModule, backed by the blog slice.

fetchPosts / fetchPostsSuccess / fetchPostsError

Load CMS posts.

openPost

Open a post.

trackBlogNavigate

Emits BlogEvents.CustomerBlogPostNavigate (Customer_Blog_Post_Navigate).

Post bodies are rendered with the html-render component, which sanitizes CMS HTML before insertion.

Sales Call Summary — /sales-call-summary

SalesCallSummaryModule. Displays the outcome of a supplier’s sales call.

It is also an onboarding step: TopBarService registers a client-side salesCallSummary step (ExtendedPreActivationStatusStepsKeys) linking here, and PayabilityComplianceEnum.SalesCallSummary is the matching compliance record. See Onboarding.

Send Money — /send-money

SendMoneyModule. Covered in Vendor Pay.

Help Center — /help-center

No module. HelpCenterRedirectGuard tracks RouterNavigationEvents.HelpCenterLinkClicked with the current user id, opens https://help.payability.com/hc/en-us in a new tab, and returns false.

A Zendesk widget is also configured through environment.zendeskWidgetUrl and environment.zendeskWidgetKey.

constants/help-articles.const.ts maps in-app contexts to specific help articles, used by SupportHelperService and the hint-popover component.