Checkout.hubuppayments.com — __full__

includes checkout_url for collecting payment method.

POST https://yoursite.com/api/webhooks/hubup checkout.hubuppayments.com

POST /api/v1/subscription_intents

const crypto = require('crypto'); function verifyWebhookSignature(payload, signature, secret) const expected = crypto .createHmac('sha256', secret) .update(JSON.stringify(payload)) .digest('hex'); return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected)); includes checkout_url for collecting payment method

"amount": 2999, "currency": "USD", "description": "Premium Plan - Annual", "customer_email": "buyer@example.com", "metadata": "order_id": "ORD-1234", "user_id": "78901" , "success_url": "https://yoursite.com/success?session_id=CHECKOUT_SESSION_ID", "cancel_url": "https://yoursite.com/cancel", "expires_in_minutes": 30 secret) const expected = crypto .createHmac('sha256'

"id": "pi_abc123", "checkout_url": "https://checkout.hubuppayments.com/checkout/pi_abc123", "status": "requires_payment_method"

checkout.hubuppayments.com