Marketplaces & Compliance
Payability advances against marketplace receivables, so a supplier’s connected sales channels are core domain data — not a settings detail.
Supported marketplaces
Identities are fixed UUIDs, shared with the backend.
// src/app/core/pyb/enums/marketplaces.enum.ts
export enum MarketplaceEnum {
Amazon = '37036286-6ab8-427e-8a5f-ce53cac22f3e',
Walmart = 'c7d2ca4e-d44b-4713-b804-abc58d38f186',
TopHatter = 'cae8ea7b-971b-4595-b920-50d8975f849e',
Payoneer = '3fd6bd61-6d83-4103-84e8-deb3c02b51cb',
Volusion = '5609080f-f80c-421a-ab60-e1cc32e32a20',
Stripe = '57387ee6-087c-4d04-b8bc-247d58355ca2',
Paypal = 'f5cd98e5-ee28-456e-97b9-c32b9f01d509',
Ebay = '44ce7193-05ed-4ff4-b806-1b4315dbe944',
Authorize = 'cc5da097-0366-483d-96f5-f58764c3f89d',
Shopify = '60e9092e-66d5-4e53-b784-df0a4d552582',
Newegg = '39ec5fa0-e6a4-473a-b185-fbfb83c29901',
NeweggVendors = 'df3ba48c-8dcd-4739-8dd2-91bb480d2826',
Etsy = 'd3297290-0447-4d6c-8679-24dedb5c4e36',
PayabilityPayment = '1333cf23-daad-462b-a931-6632b5e63c7b',
}
|
These UUIDs are contract values. Changing one silently disconnects every supplier on that channel. |
Newegg is gated behind the NEW_EGG_PROVIDER permission, which is only granted
outside production — see Permissions System.
Compliance keys
A compliance is one requirement a supplier must satisfy, identified by a UUID. They serve two purposes: onboarding progress, and per-marketplace connection requirements.
Onboarding compliances
PayabilityComplianceEnum:
|
Connect at least one channel. |
|
Contact and personal detail collection. |
|
Legal entity details. |
|
Identity verification. |
|
Bank statement upload. |
|
Payout configuration. |
|
2FA enrolment. |
|
Review the product offer. |
|
Sign the supplier agreement. |
|
Sales call completed. |
|
Catch-all. |
DoctypeComplianceEnum.Documentation covers generic document uploads.
Per-marketplace compliances
Each integration has its own key set, which is how the UI knows which step of a connection is outstanding.
| Enum | Keys |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WalmartComplianceTypes is a reverse map — UUID to human label
(compliance_api, quick-onboarding, gateway-access, access,
autoconnect_agreement) — used to render Walmart’s step names.
|
|
Permission states
A supplier’s authorization on a channel is tracked with MpPermissionEnum:
|
Access granted. |
|
Access verified end-to-end. |
|
Awaiting the marketplace. |
|
Refused. |
|
Started but not finished. |
|
Turned off. |
|
Escalated to the sales team. |
AccessStatusEnum (pending, incomplete, rejected, completed, verified)
and ApiStatus (needed, required, rejected, confirmed, incomplete,
in-review, pending) express the same idea at different granularities — the
compliance record and the API connection respectively.
State
|
The catalog of supported marketplaces. Persisted to |
|
This supplier’s connections. Refetched on init and after an Advance Line withdrawal. |
Both are keyed by marketplaceKey. See Entity Slices.
Connection health
ApiConnectorsService monitors Amazon and Shopify connections and drives
reconnect banners and modals. See
Marketplace API Connectors.
status.ascApiStatus carries the Amazon Seller Central API status, and
user.amazonApiSwitching indicates the supplier is mid-migration between Amazon
connection methods.
Amazon-specific flows
Dispatched through the marketplaces entity slice:
|
Open the invite-Payability wizard. |
|
Open the grant-permissions wizard. |
|
The supplier abandoned the Amazon-suspended flow. |
|
The Amazon-suspended flow finished. |
modals/amazon-suspended/ handles the case where the supplier’s Amazon account
itself is suspended — distinct from a Payability suspension.
UI surface
/my-marketplaces (MyMarketplacesPageModule):
|
The page shell. |
|
One connected channel with status and actions. |
|
Connection detail panel. |
|
Add-a-channel flow. |
|
Report a channel Payability does not integrate with. |
|
Loading skeletons. |
Analytics
Two event families cover the marketplace journey — MarketplaceEventType for
lifecycle changes, and LinkMarketplaceEventType / InviteMarketplaceEventType
for the onboarding wizards. MarketplaceEventsService and
AmazonEventTrackerService emit them. Full list:
Event Catalog.