@wiicode/youcanpay-sdk 1.0.0 → 1.0.4

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 CHANGED
@@ -1,5 +1,10 @@
1
1
  # YouCanPay SDK
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/@wiicode/youcanpay-sdk.svg)](https://www.npmjs.com/package/@wiicode/youcanpay-sdk)
4
+ [![npm downloads](https://img.shields.io/npm/dm/@wiicode/youcanpay-sdk.svg)](https://www.npmjs.com/package/@wiicode/youcanpay-sdk)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+ [![GitHub](https://img.shields.io/badge/GitHub-Repository-blue.svg)](https://github.com/eeyuub/youcanpay)
7
+
3
8
  Production-ready Node.js SDK for [YouCanPay](https://youcanpay.com) - Morocco's payment gateway.
4
9
 
5
10
  Works with **any Node.js framework** (Express, Fastify, Hapi) and has first-class **NestJS integration**.
@@ -22,11 +27,11 @@ Works with **any Node.js framework** (Express, Fastify, Hapi) and has first-clas
22
27
  ## Installation
23
28
 
24
29
  ```bash
25
- npm install youcanpay-sdk
30
+ npm install @wiicode/youcanpay-sdk
26
31
  ```
27
32
 
28
33
  ```bash
29
- yarn add youcanpay-sdk
34
+ yarn add @wiicode/youcanpay-sdk
30
35
  ```
31
36
 
32
37
  ### Peer Dependencies
@@ -70,7 +75,7 @@ YCP_WEBHOOK_SECRET=your_random_secret_here
70
75
  ### Plain Node.js / Express
71
76
 
72
77
  ```typescript
73
- import { YouCanPayClient, CurrencyCode } from 'youcanpay-sdk';
78
+ import { YouCanPayClient, CurrencyCode } from '@wiicode/youcanpay-sdk';
74
79
 
75
80
  // Initialize client
76
81
  const client = new YouCanPayClient({
@@ -82,12 +87,12 @@ const client = new YouCanPayClient({
82
87
  // Create a payment
83
88
  async function createPayment() {
84
89
  const { token } = await client.createToken({
85
- orderId: 'order-123',
86
90
  amount: 50000, // 500.00 MAD (in centimes)
87
91
  currency: CurrencyCode.MAD,
88
92
  customerIp: '192.168.1.1',
89
93
  successUrl: 'https://myapp.com/payment/success',
90
94
  errorUrl: 'https://myapp.com/payment/error',
95
+ // orderId: 'order-123', // Optional - auto-generated UUID if not provided
91
96
  });
92
97
 
93
98
  // Redirect user to YouCanPay checkout
@@ -103,7 +108,7 @@ async function createPayment() {
103
108
  ```typescript
104
109
  // app.module.ts
105
110
  import { Module } from '@nestjs/common';
106
- import { YouCanPayModule } from 'youcanpay-sdk';
111
+ import { YouCanPayModule } from '@wiicode/youcanpay-sdk';
107
112
 
108
113
  @Module({
109
114
  imports: [
@@ -123,7 +128,7 @@ export class AppModule {}
123
128
  // app.module.ts
124
129
  import { Module } from '@nestjs/common';
125
130
  import { ConfigModule, ConfigService } from '@nestjs/config';
126
- import { YouCanPayModule } from 'youcanpay-sdk';
131
+ import { YouCanPayModule } from '@wiicode/youcanpay-sdk';
127
132
 
128
133
  @Module({
129
134
  imports: [
@@ -146,7 +151,7 @@ export class AppModule {}
146
151
  ```typescript
147
152
  // payments.service.ts
148
153
  import { Injectable } from '@nestjs/common';
149
- import { YouCanPayService, CurrencyCode } from 'youcanpay-sdk';
154
+ import { YouCanPayService, CurrencyCode } from '@wiicode/youcanpay-sdk';
150
155
 
151
156
  @Injectable()
152
157
  export class PaymentsService {
@@ -250,7 +255,7 @@ async function initiatePayment(userId: string, amount: number) {
250
255
  #### Step 7-8: Handle Webhook
251
256
 
252
257
  ```typescript
253
- import { parseWebhookPayload, verifyWebhookSecret } from 'youcanpay-sdk';
258
+ import { parseWebhookPayload, verifyWebhookSecret } from '@wiicode/youcanpay-sdk';
254
259
 
255
260
  app.post('/webhook', async (req, res) => {
256
261
  // Verify webhook secret
@@ -312,11 +317,11 @@ Create a payment token.
312
317
 
313
318
  ```typescript
314
319
  const { token } = await client.createToken({
315
- orderId: string, // Your unique order ID
316
320
  amount: number, // Amount in centimes (5000 = 50.00 MAD)
317
321
  currency: CurrencyCode, // 'MAD' | 'USD' | 'EUR'
318
322
  customerIp: string, // Customer's IP address
319
323
  successUrl: string, // Redirect URL on success
324
+ orderId?: string, // Optional - auto-generated UUID if not provided
320
325
  errorUrl?: string, // Redirect URL on error
321
326
  customer?: { // Optional customer info
322
327
  name?: string,
@@ -384,7 +389,7 @@ import {
384
389
  verifyWebhookSecret,
385
390
  verifyWebhookHMAC,
386
391
  createWebhookSignature,
387
- } from 'youcanpay-sdk';
392
+ } from '@wiicode/youcanpay-sdk';
388
393
 
389
394
  // Parse YouCanPay webhook payload
390
395
  const webhook = parseWebhookPayload(requestBody);
@@ -415,7 +420,7 @@ import {
415
420
  validateIP,
416
421
  validateEmail,
417
422
  validatePaymentInput,
418
- } from 'youcanpay-sdk';
423
+ } from '@wiicode/youcanpay-sdk';
419
424
 
420
425
  // All return: { valid: boolean, error?: string }
421
426
 
@@ -446,7 +451,7 @@ import {
446
451
  formatAmount,
447
452
  sanitizeString,
448
453
  SUPPORTED_CURRENCIES,
449
- } from 'youcanpay-sdk';
454
+ } from '@wiicode/youcanpay-sdk';
450
455
 
451
456
  toCentimes(50.00); // 5000
452
457
  fromCentimes(5000); // 50.00
@@ -466,7 +471,7 @@ import type {
466
471
  ParsedWebhookPayload,
467
472
  ValidationResult,
468
473
  CurrencyCode,
469
- } from 'youcanpay-sdk';
474
+ } from '@wiicode/youcanpay-sdk';
470
475
  ```
471
476
 
472
477
  ---
@@ -500,7 +505,7 @@ YouCanPay sends webhooks with this structure:
500
505
  ### Parsing with SDK
501
506
 
502
507
  ```typescript
503
- import { parseWebhookPayload, ParsedWebhookPayload } from 'youcanpay-sdk';
508
+ import { parseWebhookPayload, ParsedWebhookPayload } from '@wiicode/youcanpay-sdk';
504
509
 
505
510
  const webhook: ParsedWebhookPayload = parseWebhookPayload(requestBody);
506
511
 
@@ -527,7 +532,7 @@ import {
527
532
  ParseWebhookPipe,
528
533
  ParsedWebhookPayload,
529
534
  verifyWebhookSecret,
530
- } from 'youcanpay-sdk';
535
+ } from '@wiicode/youcanpay-sdk';
531
536
 
532
537
  @Controller('payments')
533
538
  export class PaymentsController {
@@ -620,43 +625,211 @@ const payment = await prisma.payment.create({
620
625
  });
621
626
  ```
622
627
 
623
- ### TypeORM Example
628
+ ### TypeORM Example (Complete NestJS Entity)
624
629
 
625
630
  ```typescript
631
+ // payment-status.enum.ts
632
+ export enum PaymentStatus {
633
+ PENDING = 'PENDING',
634
+ COMPLETED = 'COMPLETED',
635
+ FAILED = 'FAILED',
636
+ REFUNDED = 'REFUNDED',
637
+ }
638
+
639
+ // payment.entity.ts
640
+ import {
641
+ Entity,
642
+ PrimaryGeneratedColumn,
643
+ Column,
644
+ CreateDateColumn,
645
+ UpdateDateColumn,
646
+ ManyToOne,
647
+ JoinColumn,
648
+ } from 'typeorm';
649
+ import { PaymentStatus } from './payment-status.enum';
650
+ import { User } from '../users/user.entity';
651
+
626
652
  @Entity('payments')
627
653
  export class Payment {
628
654
  @PrimaryGeneratedColumn('uuid')
629
655
  id: string;
630
656
 
631
- @Column({ unique: true })
657
+ @Column({ unique: true, name: 'order_id' })
632
658
  orderId: string;
633
659
 
634
- @Column({ nullable: true })
660
+ @Column({ nullable: true, name: 'token_id' })
635
661
  tokenId: string;
636
662
 
637
- @Column({ nullable: true })
663
+ @Column({ nullable: true, name: 'transaction_id' })
638
664
  transactionId: string;
639
665
 
640
- @Column()
641
- amount: number;
666
+ @Column({ type: 'integer' })
667
+ amount: number; // In centimes
642
668
 
643
- @Column()
669
+ @Column({ length: 3 })
644
670
  currency: string;
645
671
 
646
- @Column({ default: 'PENDING' })
647
- status: 'PENDING' | 'COMPLETED' | 'FAILED';
672
+ @Column({
673
+ type: 'enum',
674
+ enum: PaymentStatus,
675
+ default: PaymentStatus.PENDING,
676
+ })
677
+ status: PaymentStatus;
648
678
 
649
- @Column()
679
+ @Column({ name: 'user_id' })
650
680
  userId: string;
651
681
 
652
- @CreateDateColumn()
682
+ @ManyToOne(() => User, { onDelete: 'CASCADE' })
683
+ @JoinColumn({ name: 'user_id' })
684
+ user: User;
685
+
686
+ @Column({ type: 'jsonb', nullable: true })
687
+ metadata: Record<string, any>;
688
+
689
+ @Column({ nullable: true })
690
+ errorMessage: string;
691
+
692
+ @CreateDateColumn({ name: 'created_at' })
653
693
  createdAt: Date;
654
694
 
655
- @UpdateDateColumn()
695
+ @UpdateDateColumn({ name: 'updated_at' })
656
696
  updatedAt: Date;
657
697
  }
658
698
  ```
659
699
 
700
+ ### Complete Payment Service Example
701
+
702
+ ```typescript
703
+ // payments.service.ts
704
+ import { Injectable, NotFoundException } from '@nestjs/common';
705
+ import { InjectRepository } from '@nestjs/typeorm';
706
+ import { Repository } from 'typeorm';
707
+ import { YouCanPayService, CurrencyCode, parseWebhookPayload, ParsedWebhookPayload } from '@wiicode/youcanpay-sdk';
708
+ import { Payment } from './payment.entity';
709
+ import { PaymentStatus } from './payment-status.enum';
710
+ import { v4 as uuidv4 } from 'uuid';
711
+
712
+ @Injectable()
713
+ export class PaymentsService {
714
+ constructor(
715
+ @InjectRepository(Payment)
716
+ private readonly paymentRepo: Repository<Payment>,
717
+ private readonly youcanpay: YouCanPayService,
718
+ ) {}
719
+
720
+ async createPayment(userId: string, amount: number, currency: string, customerIp: string) {
721
+ const orderId = uuidv4();
722
+
723
+ // 1. Save payment to database
724
+ const payment = this.paymentRepo.create({
725
+ orderId,
726
+ amount,
727
+ currency,
728
+ userId,
729
+ status: PaymentStatus.PENDING,
730
+ });
731
+ await this.paymentRepo.save(payment);
732
+
733
+ // 2. Create token with YouCanPay
734
+ const { token } = await this.youcanpay.createToken({
735
+ orderId,
736
+ amount,
737
+ currency: currency as CurrencyCode,
738
+ customerIp,
739
+ successUrl: `${process.env.APP_URL}/payments/success`,
740
+ errorUrl: `${process.env.APP_URL}/payments/error`,
741
+ });
742
+
743
+ // 3. Update payment with token ID
744
+ payment.tokenId = token.id;
745
+ await this.paymentRepo.save(payment);
746
+
747
+ return {
748
+ paymentId: payment.id,
749
+ paymentUrl: this.youcanpay.getPaymentUrl(token.id),
750
+ };
751
+ }
752
+
753
+ async handleWebhook(payload: unknown) {
754
+ const webhook = parseWebhookPayload(payload);
755
+
756
+ const payment = await this.paymentRepo.findOne({
757
+ where: { orderId: webhook.orderId },
758
+ });
759
+
760
+ if (!payment) {
761
+ throw new NotFoundException('Payment not found');
762
+ }
763
+
764
+ // Idempotency check
765
+ if (payment.status === PaymentStatus.COMPLETED) {
766
+ return { received: true, already_processed: true };
767
+ }
768
+
769
+ // Update payment status
770
+ payment.transactionId = webhook.transactionId;
771
+ payment.status = webhook.isSuccess ? PaymentStatus.COMPLETED : PaymentStatus.FAILED;
772
+ await this.paymentRepo.save(payment);
773
+
774
+ return { received: true };
775
+ }
776
+
777
+ async getPaymentByOrderId(orderId: string) {
778
+ return this.paymentRepo.findOne({ where: { orderId } });
779
+ }
780
+
781
+ async getUserPayments(userId: string) {
782
+ return this.paymentRepo.find({
783
+ where: { userId },
784
+ order: { createdAt: 'DESC' },
785
+ });
786
+ }
787
+ }
788
+ ```
789
+
790
+ ### Mongoose Example (MongoDB)
791
+
792
+ ```typescript
793
+ // payment.schema.ts
794
+ import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
795
+ import { Document } from 'mongoose';
796
+
797
+ export enum PaymentStatus {
798
+ PENDING = 'PENDING',
799
+ COMPLETED = 'COMPLETED',
800
+ FAILED = 'FAILED',
801
+ }
802
+
803
+ @Schema({ timestamps: true })
804
+ export class Payment extends Document {
805
+ @Prop({ required: true, unique: true })
806
+ orderId: string;
807
+
808
+ @Prop()
809
+ tokenId: string;
810
+
811
+ @Prop()
812
+ transactionId: string;
813
+
814
+ @Prop({ required: true })
815
+ amount: number;
816
+
817
+ @Prop({ required: true })
818
+ currency: string;
819
+
820
+ @Prop({ enum: PaymentStatus, default: PaymentStatus.PENDING })
821
+ status: PaymentStatus;
822
+
823
+ @Prop({ required: true })
824
+ userId: string;
825
+
826
+ @Prop({ type: Object })
827
+ metadata: Record<string, any>;
828
+ }
829
+
830
+ export const PaymentSchema = SchemaFactory.createForClass(Payment);
831
+ ```
832
+
660
833
  ### Status Flow
661
834
 
662
835
  ```
@@ -674,7 +847,7 @@ PENDING ──────┬──────> COMPLETED (webhook: transaction
674
847
  YouCanPay uses **centimes** (smallest currency unit):
675
848
 
676
849
  ```typescript
677
- import { toCentimes, fromCentimes, formatAmount } from 'youcanpay-sdk';
850
+ import { toCentimes, fromCentimes, formatAmount } from '@wiicode/youcanpay-sdk';
678
851
 
679
852
  // User enters: 50.00 MAD
680
853
  const centimes = toCentimes(50.00); // 5000
@@ -686,7 +859,7 @@ const display = formatAmount(5000, 'MAD'); // "50.00 MAD"
686
859
  ### Input Validation
687
860
 
688
861
  ```typescript
689
- import { validatePaymentInput } from 'youcanpay-sdk';
862
+ import { validatePaymentInput } from '@wiicode/youcanpay-sdk';
690
863
 
691
864
  const validation = validatePaymentInput({
692
865
  amount: userInput.amount,
@@ -718,7 +891,7 @@ if (!validation.valid) {
718
891
  ### YouCanPayError
719
892
 
720
893
  ```typescript
721
- import { YouCanPayError, ErrorCodes } from 'youcanpay-sdk';
894
+ import { YouCanPayError, ErrorCodes } from '@wiicode/youcanpay-sdk';
722
895
 
723
896
  try {
724
897
  await client.createToken({ ... });
@@ -790,7 +963,7 @@ Use any future expiry date and any 3-digit CVV.
790
963
 
791
964
  ```typescript
792
965
  // Jest mock
793
- jest.mock('youcanpay-sdk', () => ({
966
+ jest.mock('@wiicode/youcanpay-sdk', () => ({
794
967
  YouCanPayClient: jest.fn().mockImplementation(() => ({
795
968
  createToken: jest.fn().mockResolvedValue({
796
969
  token: { id: 'test-token-123' },
@@ -840,9 +1013,15 @@ interface YouCanPayOptions {
840
1013
 
841
1014
  ## Support
842
1015
 
1016
+ - [GitHub Repository](https://github.com/eeyuub/youcanpay)
1017
+ - [Report Issues](https://github.com/eeyuub/youcanpay/issues)
1018
+ - [npm Package](https://www.npmjs.com/package/@wiicode/youcanpay-sdk)
843
1019
  - [YouCanPay Documentation](https://youcanpay.com/docs)
844
- - [GitHub Issues](https://github.com/your-repo/youcanpay-sdk/issues)
1020
+
1021
+ ## Author
1022
+
1023
+ **WiiCode** - [@eeyuub](https://github.com/eeyuub)
845
1024
 
846
1025
  ## License
847
1026
 
848
- MIT
1027
+ MIT - see [LICENSE](https://github.com/eeyuub/youcanpay/blob/master/LICENSE) for details.
package/dist/client.js CHANGED
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.YouCanPayClient = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
+ const crypto_1 = require("crypto");
8
9
  const constants_1 = require("./constants");
9
10
  const errors_1 = require("./errors");
10
11
  const enums_1 = require("./enums");
@@ -25,10 +26,11 @@ class YouCanPayClient {
25
26
  }
26
27
  async createToken(params) {
27
28
  const startTime = Date.now();
29
+ const orderId = params.orderId ?? (0, crypto_1.randomUUID)();
28
30
  const body = new URLSearchParams();
29
31
  body.append('pri_key', this.privateKey);
30
32
  body.append('pub_key', this.publicKey);
31
- body.append('order_id', params.orderId);
33
+ body.append('order_id', orderId);
32
34
  body.append('amount', String(params.amount));
33
35
  body.append('currency', params.currency);
34
36
  body.append('customer_ip', params.customerIp);
@@ -62,11 +64,11 @@ class YouCanPayClient {
62
64
  try {
63
65
  const response = await this.http.post('/tokenize', body);
64
66
  const data = response.data;
65
- await this.logger.log('createToken', { orderId: params.orderId, amount: params.amount, currency: params.currency }, data, 'success', Date.now() - startTime, params.metadata);
67
+ await this.logger.log('createToken', { orderId, amount: params.amount, currency: params.currency }, data, 'success', Date.now() - startTime, params.metadata);
66
68
  return data;
67
69
  }
68
70
  catch (error) {
69
- await this.logger.log('createToken', { orderId: params.orderId, amount: params.amount, currency: params.currency }, undefined, 'error', Date.now() - startTime);
71
+ await this.logger.log('createToken', { orderId, amount: params.amount, currency: params.currency }, undefined, 'error', Date.now() - startTime);
70
72
  throw this.handleError(error);
71
73
  }
72
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export interface CustomerInfo {
10
10
  email?: string;
11
11
  }
12
12
  export interface CreateTokenParams {
13
- orderId: string;
13
+ orderId?: string;
14
14
  amount: number;
15
15
  currency: CurrencyCode | string;
16
16
  customerIp: string;