Advertisement
Magery183

create paddle customer

Nov 20th, 2024 (edited)
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. import { Environment, Paddle } from "npm:@paddle/paddle-node-sdk@1.9.1";
  2. import { createClient } from "npm:@supabase/supabase-js";
  3.  
  4. const paddle = new Paddle(Deno.env.get("PADDLE_API_KEY")!, {
  5. environment: Environment.sandbox,
  6. });
  7.  
  8. const supabase = createClient(Deno.env.get("SUPABASE_URL")!, Deno.env.get("SUPABASE_SERVICE_ROLE_KEY")!);
  9.  
  10. Deno.serve(async (req: Request) => {
  11. const { record } = await req.json();
  12.  
  13. const customerCheck = await paddle.customers.list({
  14. email: record.email
  15. }).next()
  16.  
  17. if (customerCheck.length > 0) {
  18. await supabase.from("user_info").update({
  19. paddle_customer_id: customerCheck[0].id
  20. }).eq("id", record.id)
  21. console.log("User exists in paddle, synced to database", record.id, customerCheck[0].id);
  22. return new Response("OK", { status: 200 });
  23. }
  24.  
  25. const customer = await paddle.customers.create({
  26. email: record.email,
  27. customData: {
  28. userId: record.id
  29. }
  30. })
  31.  
  32. await supabase.from("user_info").update({
  33. paddle_customer_id: customer.id
  34. }).eq("id", record.id)
  35.  
  36. console.log("User created in paddle", record.id, customer.id);
  37.  
  38. return new Response("OK", { status: 200 });
  39. })
  40.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement