payment serive
This commit is contained in:
@@ -12,6 +12,17 @@ const razorpay = new Razorpay({
|
||||
key_secret: config.RAZORPAY_KEY_SECRET,
|
||||
});
|
||||
|
||||
const buildUniqueReceipt = (input?: string) => {
|
||||
const normalizedPrefix = (input?.trim() || 'receipt')
|
||||
.replace(/[^a-zA-Z0-9_-]/g, '_')
|
||||
.replace(/_+/g, '_')
|
||||
.slice(0, 20);
|
||||
const timePart = Date.now().toString(36);
|
||||
const randomPart = crypto.randomBytes(4).toString('hex');
|
||||
|
||||
return `${normalizedPrefix}_${timePart}_${randomPart}`.slice(0, 100);
|
||||
};
|
||||
|
||||
type RazorpayWebhookPayload = {
|
||||
event?: string;
|
||||
payload?: {
|
||||
@@ -91,7 +102,7 @@ export class PaymentService {
|
||||
}
|
||||
|
||||
const amountInPaise = Math.round(payload.amount * 100);
|
||||
const receipt = payload.receipt ?? `receipt_${Date.now()}`;
|
||||
const receipt = buildUniqueReceipt(payload.receipt);
|
||||
const currency = payload.currency ?? 'INR';
|
||||
|
||||
const order = (await razorpay.orders.create({
|
||||
|
||||
Reference in New Issue
Block a user