Checkout.hubuppayments.com
POST /api/v1/subscription_intents
Authorization: Bearer secret_key Content-Type: application/json checkout.hubuppayments.com
// Client-side check – not for security const urlParams = new URLSearchParams(window.location.search); const paymentIntent = urlParams.get('payment_intent'); if(paymentIntent) showConfirmation(); HubUp sends payment_intent.succeeded , payment_intent.failed , subscription.created , etc. const paymentIntent = urlParams.get('payment_intent')
"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 HubUp sends payment_intent.succeeded
"id": "pi_abc123", "checkout_url": "https://checkout.hubuppayments.com/checkout/pi_abc123", "status": "requires_payment_method"
res.json( received: true ); ); Create a subscription intent:
