Blog Posts

Gift certificates for Oqtane, powered by PayPal and PDFs.
GIBS.Module.GiftCert is an Oqtane module that collects gift certificate details, processes payment via PayPal, sends email notifications, and generates downloadable PDF certificates.
At a glance
-
PayPal CheckoutSandbox + Production modes supported
-
PDF CertificatesGenerated via PDFsharp + MigraDoc
-
Email NotificationsHTML email via MailKit / MimeKit
-
Admin ManagementTrack status, mark processed, generate PDF (after PAID)
Key features
Everything needed for a simple “purchase → pay → fulfill” gift certificate flow.
Customer purchase flow
Capture amount, recipient/sender info, notes, and mailing details.
PayPal integration
Create and capture orders server-side; store PayPal response details.
PDF generation
Generate a certificate PDF once payment is marked PAID.
Email notifications
Send purchase and update emails using MailKit/MimeKit (HTML).
Admin tools
Mark processed, review PayPal status/IDs, generate PDFs from admin UI.
Oqtane module packaging
Delivered as a NuGet package for Oqtane installation.
How it works
- Customer enters gift certificate details and saves the request.
- PayPal buttons load and the customer completes payment.
- Server captures the order and persists PayPal response details.
- Emails are sent to the purchaser and admins (configurable).
- Admin generates the PDF and marks the certificate as processed.
Designed for fulfillment
Manage gift certificates from the admin UI and generate/download PDFs after payment confirmation.
PAID vs not paidPAIDSettings
Configure PayPal credentials, default values, PDF text/branding, and email behavior directly in Oqtane module settings.
PayPal
PayPalSandboxMode- Sandbox: Payee, Client ID, Client Secret
- Production: Payee, OAuth Client ID/Secret
General
DefaultValueModuleInstructionsNumPerPageFileFolder(PDF storage folder)
PDF & Email
- PDF: banner/footer/watermark/logo/return address
- Email: reply-to, notify, BCC, subject, instructions
Deploy safely
Oqtane scans module assemblies during startup. Missing transitive dependencies can prevent the site from starting (commonly seen as HTTP 500.30 on IIS).
lib/net9.0. For PayPal, this typically includes APIMatic.Core.dll (required by PayPalServerSDK).Install steps
- Build the module in Release.
- Create the
.nupkgfrom the Package project. - Install the package into the Oqtane site.
Package/GIBS.Module.GiftCert.nuspec.