@inkress/admin-sdk 1.1.42 → 1.1.44
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 +244 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +404 -7
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +404 -6
- package/dist/index.js.map +1 -1
- package/dist/resources/kyc.d.ts +107 -0
- package/dist/resources/kyc.d.ts.map +1 -1
- package/dist/resources/public.d.ts +1 -1
- package/dist/resources/public.d.ts.map +1 -1
- package/dist/resources/webhook-urls.d.ts +85 -1
- package/dist/resources/webhook-urls.d.ts.map +1 -1
- package/dist/types/resources.d.ts +15 -17
- package/dist/types/resources.d.ts.map +1 -1
- package/dist/types.d.ts +25 -22
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -238,11 +238,10 @@ The SDK provides access to 23+ fully-typed resources:
|
|
|
238
238
|
- **Addresses** - Address management
|
|
239
239
|
- **Tokens** - API token management
|
|
240
240
|
- **Webhook URLs** - Webhook configuration
|
|
241
|
+
- **KYC** - Know Your Customer verification and compliance
|
|
241
242
|
|
|
242
243
|
### Content & Other
|
|
243
244
|
- **Generics** - Dynamic endpoint access
|
|
244
|
-
- **KYC** - Know Your Customer operations
|
|
245
|
-
- **Payout** - Payout processing
|
|
246
245
|
- **Public** - Public-facing merchant data
|
|
247
246
|
|
|
248
247
|
---
|
|
@@ -814,6 +813,249 @@ const fees = await inkress.public.getMerchantFees('merchant-name', {
|
|
|
814
813
|
// Returns: PublicMerchantFees
|
|
815
814
|
```
|
|
816
815
|
|
|
816
|
+
---
|
|
817
|
+
|
|
818
|
+
## KYC (Know Your Customer) Module
|
|
819
|
+
|
|
820
|
+
The KYC module helps you manage merchant verification and compliance documents. It provides both client-side document requirements and server-side status tracking.
|
|
821
|
+
|
|
822
|
+
### Understanding Entity Types
|
|
823
|
+
|
|
824
|
+
Different merchant types require different KYC documents:
|
|
825
|
+
|
|
826
|
+
| Entity Type | Description | Required Documents |
|
|
827
|
+
|------------|-------------|-------------------|
|
|
828
|
+
| `personal` | Individual merchant | 3 documents |
|
|
829
|
+
| `sole-trader` | Sole proprietorship | 5 documents |
|
|
830
|
+
| `llc` | Limited Liability Company | 9 documents |
|
|
831
|
+
| `non-profit` | Non-profit organization | 6 documents |
|
|
832
|
+
| `alumni` | Alumni association | 6 documents |
|
|
833
|
+
| `other` | Other business types | 9 documents |
|
|
834
|
+
|
|
835
|
+
### Document Types
|
|
836
|
+
|
|
837
|
+
```typescript
|
|
838
|
+
type KycDocumentType =
|
|
839
|
+
| 'Proof of Identity'
|
|
840
|
+
| 'Proof of Address'
|
|
841
|
+
| 'Proof of Bank Account Ownership'
|
|
842
|
+
| 'Business Certificate'
|
|
843
|
+
| 'Articles of Incorporation'
|
|
844
|
+
| 'Annual Return'
|
|
845
|
+
| 'Notice of Directors'
|
|
846
|
+
| 'Notice of Secretary'
|
|
847
|
+
| 'Tax Compliance Certificate';
|
|
848
|
+
```
|
|
849
|
+
|
|
850
|
+
### Quick Status Check
|
|
851
|
+
|
|
852
|
+
```typescript
|
|
853
|
+
// Check if KYC is complete for the authenticated merchant
|
|
854
|
+
const isComplete = await inkress.kyc.isKycComplete('llc');
|
|
855
|
+
|
|
856
|
+
if (isComplete) {
|
|
857
|
+
console.log('✅ Merchant is fully verified!');
|
|
858
|
+
} else {
|
|
859
|
+
console.log('⚠️ Verification incomplete');
|
|
860
|
+
}
|
|
861
|
+
```
|
|
862
|
+
|
|
863
|
+
### Get Requirements Status (with API call)
|
|
864
|
+
|
|
865
|
+
Fetch the complete KYC status including all document submissions:
|
|
866
|
+
|
|
867
|
+
```typescript
|
|
868
|
+
const response = await inkress.kyc.getRequirementsStatus('llc');
|
|
869
|
+
|
|
870
|
+
if (response.state === 'ok') {
|
|
871
|
+
const status = response.result!;
|
|
872
|
+
|
|
873
|
+
console.log(`Completion: ${status.completion_percentage}%`);
|
|
874
|
+
console.log(`Complete: ${status.is_complete ? 'Yes' : 'No'}`);
|
|
875
|
+
console.log(`Approved: ${status.total_approved}/${status.total_required}`);
|
|
876
|
+
console.log(`Pending: ${status.total_pending}`);
|
|
877
|
+
console.log(`Rejected: ${status.total_rejected}`);
|
|
878
|
+
|
|
879
|
+
// Check individual documents
|
|
880
|
+
status.document_statuses.forEach(doc => {
|
|
881
|
+
console.log(`${doc.document_type}: ${doc.status || 'not submitted'}`);
|
|
882
|
+
|
|
883
|
+
if (doc.status === 'rejected' && doc.rejection_reason) {
|
|
884
|
+
console.log(` Reason: ${doc.rejection_reason}`);
|
|
885
|
+
}
|
|
886
|
+
});
|
|
887
|
+
}
|
|
888
|
+
```
|
|
889
|
+
|
|
890
|
+
### Get Missing Documents
|
|
891
|
+
|
|
892
|
+
Find out which documents still need to be submitted:
|
|
893
|
+
|
|
894
|
+
```typescript
|
|
895
|
+
const missing = await inkress.kyc.getMissingDocuments('llc');
|
|
896
|
+
|
|
897
|
+
if (missing.length > 0) {
|
|
898
|
+
console.log('Please submit the following documents:');
|
|
899
|
+
missing.forEach(doc => console.log(` • ${doc}`));
|
|
900
|
+
} else {
|
|
901
|
+
console.log('All documents submitted!');
|
|
902
|
+
}
|
|
903
|
+
```
|
|
904
|
+
|
|
905
|
+
### Client-Side Requirements (no API call)
|
|
906
|
+
|
|
907
|
+
View required documents without making an API request:
|
|
908
|
+
|
|
909
|
+
```typescript
|
|
910
|
+
// Get requirements for a specific entity type
|
|
911
|
+
const docs = inkress.kyc.getRequiredDocuments('llc');
|
|
912
|
+
console.log(`LLC requires ${docs.length} documents:`, docs);
|
|
913
|
+
// Returns: ['Proof of Identity', 'Proof of Address', ...]
|
|
914
|
+
|
|
915
|
+
// Get all requirements at once
|
|
916
|
+
const allRequirements = inkress.kyc.getAllRequirements();
|
|
917
|
+
console.log('Personal:', allRequirements.personal);
|
|
918
|
+
console.log('LLC:', allRequirements.llc);
|
|
919
|
+
// Returns complete mapping of all entity types to their required documents
|
|
920
|
+
```
|
|
921
|
+
|
|
922
|
+
### Submit KYC Documents
|
|
923
|
+
|
|
924
|
+
```typescript
|
|
925
|
+
// Upload a document
|
|
926
|
+
await inkress.kyc.uploadDocument({
|
|
927
|
+
kind: 'document_submission',
|
|
928
|
+
status: 'pending',
|
|
929
|
+
data: {
|
|
930
|
+
document_type: 'Proof of Identity',
|
|
931
|
+
document_url: 'https://cdn.example.com/id-card.pdf',
|
|
932
|
+
notes: 'Government-issued ID card'
|
|
933
|
+
}
|
|
934
|
+
});
|
|
935
|
+
|
|
936
|
+
// Update bank information
|
|
937
|
+
await inkress.kyc.updateBankInfo({
|
|
938
|
+
kind: 'bank_info_update',
|
|
939
|
+
status: 'pending',
|
|
940
|
+
data: {
|
|
941
|
+
account_number: '123456789',
|
|
942
|
+
routing_number: '987654321',
|
|
943
|
+
bank_name: 'Example Bank',
|
|
944
|
+
account_holder_name: 'John Doe'
|
|
945
|
+
}
|
|
946
|
+
});
|
|
947
|
+
```
|
|
948
|
+
|
|
949
|
+
### Complete Onboarding Flow Example
|
|
950
|
+
|
|
951
|
+
```typescript
|
|
952
|
+
async function checkKycOnboarding(entityType: 'llc' | 'personal' | 'sole-trader') {
|
|
953
|
+
console.log('🚀 Starting KYC Onboarding Check...\n');
|
|
954
|
+
|
|
955
|
+
// Step 1: Show what's required
|
|
956
|
+
const required = inkress.kyc.getRequiredDocuments(entityType);
|
|
957
|
+
console.log(`📋 ${entityType} requires ${required.length} documents:`);
|
|
958
|
+
required.forEach((doc, i) => console.log(` ${i + 1}. ${doc}`));
|
|
959
|
+
console.log('');
|
|
960
|
+
|
|
961
|
+
// Step 2: Check current status
|
|
962
|
+
const statusResponse = await inkress.kyc.getRequirementsStatus(entityType);
|
|
963
|
+
|
|
964
|
+
if (statusResponse.state === 'ok') {
|
|
965
|
+
const status = statusResponse.result!;
|
|
966
|
+
|
|
967
|
+
console.log('📊 Current Status:');
|
|
968
|
+
console.log(` Completion: ${status.completion_percentage}%`);
|
|
969
|
+
console.log(` Approved: ${status.total_approved}/${status.total_required}`);
|
|
970
|
+
console.log(` Pending: ${status.total_pending}`);
|
|
971
|
+
console.log(` Rejected: ${status.total_rejected}`);
|
|
972
|
+
console.log('');
|
|
973
|
+
}
|
|
974
|
+
|
|
975
|
+
// Step 3: Check if complete
|
|
976
|
+
const isComplete = await inkress.kyc.isKycComplete(entityType);
|
|
977
|
+
|
|
978
|
+
if (isComplete) {
|
|
979
|
+
console.log('✅ KYC Complete - Merchant is verified!');
|
|
980
|
+
} else {
|
|
981
|
+
// Step 4: Show what's missing
|
|
982
|
+
const missing = await inkress.kyc.getMissingDocuments(entityType);
|
|
983
|
+
console.log('⚠️ Action Required:');
|
|
984
|
+
console.log(`Please submit ${missing.length} document(s):`);
|
|
985
|
+
missing.forEach(doc => console.log(` • ${doc}`));
|
|
986
|
+
}
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
// Run the check
|
|
990
|
+
await checkKycOnboarding('llc');
|
|
991
|
+
```
|
|
992
|
+
|
|
993
|
+
### TypeScript Types
|
|
994
|
+
|
|
995
|
+
```typescript
|
|
996
|
+
import type {
|
|
997
|
+
EntityType,
|
|
998
|
+
KycDocumentType,
|
|
999
|
+
KycRequirements,
|
|
1000
|
+
KycDocumentStatus,
|
|
1001
|
+
KYC_DOCUMENT_REQUIREMENTS
|
|
1002
|
+
} from '@inkress/admin-sdk';
|
|
1003
|
+
|
|
1004
|
+
// Document status interface
|
|
1005
|
+
interface KycDocumentStatus {
|
|
1006
|
+
document_type: KycDocumentType;
|
|
1007
|
+
required: boolean;
|
|
1008
|
+
submitted: boolean;
|
|
1009
|
+
status?: 'pending' | 'approved' | 'rejected';
|
|
1010
|
+
submitted_at?: string;
|
|
1011
|
+
reviewed_at?: string;
|
|
1012
|
+
rejection_reason?: string;
|
|
1013
|
+
}
|
|
1014
|
+
|
|
1015
|
+
// Complete requirements interface
|
|
1016
|
+
interface KycRequirements {
|
|
1017
|
+
entity_type: EntityType;
|
|
1018
|
+
required_documents: KycDocumentType[];
|
|
1019
|
+
document_statuses: KycDocumentStatus[];
|
|
1020
|
+
total_required: number;
|
|
1021
|
+
total_submitted: number;
|
|
1022
|
+
total_approved: number;
|
|
1023
|
+
total_rejected: number;
|
|
1024
|
+
total_pending: number;
|
|
1025
|
+
completion_percentage: number;
|
|
1026
|
+
is_complete: boolean;
|
|
1027
|
+
}
|
|
1028
|
+
```
|
|
1029
|
+
|
|
1030
|
+
### KYC Status Values
|
|
1031
|
+
|
|
1032
|
+
The API returns integer status codes that are automatically converted:
|
|
1033
|
+
|
|
1034
|
+
| Integer | API Value | Simplified |
|
|
1035
|
+
|---------|-----------|------------|
|
|
1036
|
+
| 1 | `pending` | `pending` |
|
|
1037
|
+
| 2 | `in_review` | `pending` |
|
|
1038
|
+
| 3 | `approved` | `approved` |
|
|
1039
|
+
| 4 | `rejected` | `rejected` |
|
|
1040
|
+
|
|
1041
|
+
The SDK automatically handles the conversion between integers and human-readable strings.
|
|
1042
|
+
|
|
1043
|
+
### Best Practices
|
|
1044
|
+
|
|
1045
|
+
1. **Cache Requirements**: The `getRequiredDocuments()` and `getAllRequirements()` methods don't make API calls - use them freely for UI display.
|
|
1046
|
+
|
|
1047
|
+
2. **Periodic Status Checks**: Poll `getRequirementsStatus()` periodically to track verification progress.
|
|
1048
|
+
|
|
1049
|
+
3. **Handle Rejections**: Check `rejection_reason` when a document is rejected to provide clear feedback to users.
|
|
1050
|
+
|
|
1051
|
+
4. **Track Submissions**: Use `submitted_at` and `reviewed_at` timestamps to show processing time.
|
|
1052
|
+
|
|
1053
|
+
5. **Authentication**: All KYC methods use the authenticated merchant from the `Client-Id` header (set via `username` config).
|
|
1054
|
+
|
|
1055
|
+
See [examples/kyc-requirements.ts](examples/kyc-requirements.ts) for complete working examples.
|
|
1056
|
+
|
|
1057
|
+
---
|
|
1058
|
+
|
|
817
1059
|
## Advanced Query System
|
|
818
1060
|
|
|
819
1061
|
The SDK provides a powerful type-safe query system with two interfaces:
|
package/dist/index.d.ts
CHANGED
|
@@ -98,6 +98,8 @@ export declare class InkressSDK {
|
|
|
98
98
|
}
|
|
99
99
|
export * from './types';
|
|
100
100
|
export * from './client';
|
|
101
|
+
export type { WebhookPayload, WebhookVerificationOptions, IncomingWebhookRequest, } from './resources/webhook-urls';
|
|
102
|
+
export { KYC_DOCUMENT_REQUIREMENTS, type EntityType, type KycDocumentType, type KycDocumentStatus, type KycRequirements, } from './resources/kyc';
|
|
101
103
|
export { InkressSDK as default };
|
|
102
104
|
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';
|
|
103
105
|
export { ORDER_FIELD_TYPES, PRODUCT_FIELD_TYPES, USER_FIELD_TYPES, MERCHANT_FIELD_TYPES, CATEGORY_FIELD_TYPES, BILLING_PLAN_FIELD_TYPES, SUBSCRIPTION_FIELD_TYPES, PAYMENT_LINK_FIELD_TYPES, FINANCIAL_ACCOUNT_FIELD_TYPES, FINANCIAL_REQUEST_FIELD_TYPES, WEBHOOK_URL_FIELD_TYPES, TOKEN_FIELD_TYPES, ADDRESS_FIELD_TYPES, CURRENCY_FIELD_TYPES, EXCHANGE_RATE_FIELD_TYPES, FEE_FIELD_TYPES, PAYMENT_METHOD_FIELD_TYPES, TRANSACTION_ENTRY_FIELD_TYPES, } from './types/resources';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAa;IAG3B,SAAgB,SAAS,EAAE,iBAAiB,CAAC;IAC7C,SAAgB,UAAU,EAAE,kBAAkB,CAAC;IAC/C,SAAgB,MAAM,EAAE,cAAc,CAAC;IACvC,SAAgB,QAAQ,EAAE,gBAAgB,CAAC;IAC3C,SAAgB,YAAY,EAAE,oBAAoB,CAAC;IACnD,SAAgB,aAAa,EAAE,qBAAqB,CAAC;IACrD,SAAgB,KAAK,EAAE,aAAa,CAAC;IACrC,SAAgB,MAAM,EAAE,cAAc,CAAC;IACvC,SAAgB,GAAG,EAAE,WAAW,CAAC;IACjC,SAAgB,YAAY,EAAE,oBAAoB,CAAC;IACnD,SAAgB,iBAAiB,EAAE,yBAAyB,CAAC;IAC7D,SAAgB,iBAAiB,EAAE,yBAAyB,CAAC;IAC7D,SAAgB,WAAW,EAAE,mBAAmB,CAAC;IACjD,SAAgB,MAAM,EAAE,cAAc,CAAC;IACvC,SAAgB,SAAS,EAAE,iBAAiB,CAAC;IAC7C,SAAgB,UAAU,EAAE,kBAAkB,CAAC;IAC/C,SAAgB,aAAa,EAAE,qBAAqB,CAAC;IACrD,SAAgB,IAAI,EAAE,YAAY,CAAC;IACnC,SAAgB,cAAc,EAAE,sBAAsB,CAAC;IACvD,SAAgB,kBAAkB,EAAE,0BAA0B,CAAC;IAC/D,SAAgB,QAAQ,EAAE,gBAAgB,CAAC;gBAE/B,MAAM,EAAE,aAAa;IA2BjC;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAIrD;;OAEG;IACH,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC;CAGhD;AAGD,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|