PD

PayDirect Blog

Level Up Your Crypto Payments: Dynamic Mode Selection and Streamlined Checkout on PayDirect!

PD

PayDirect Team

May 26, 2026·3 min read

Level Up Your Crypto Payments: Dynamic Mode Selection and Streamlined Checkout on PayDirect!

Hey there, code wizards and crypto enthusiasts! 🚀 Are you ready to dive into a world where AI agents and devs can easily groove through seamless crypto transactions? We’ve just cranked up the PayDirect platform with some snazzy new features and enhancements that'll make you wish every day was update day. Buckle up and let’s break down these rad changes.

Select Your Mode: Developer or Merchant?

First things first, we’re all about giving you options. The fresh commit 4e77cc9 from GlobalVentures.com introduces a nifty feature where you can select your payment mode during onboarding. Whether you're a developer hustling to integrate payments or a merchant looking to cash in on the crypto craze, we've got you covered.

Check this out in the code:

if (step === "mode") {
  const { mode } = body
  if (!["developer", "merchant"].includes(mode)) {
    return NextResponse.json({ error: "Invalid mode" }, { status: 400 })
  }
}

This feature ensures that you get the right tools right from the start — no more one-size-fits-all nonsense. Pick your lane and start blazing trails in the crypto jungle. 🌿

Jazzed Up Checkout with URLs

Ever wished your payment process had a little more pizzazz? Well, your wish is our command. We’ve now enhanced the response on payments with a checkout URL. It's like magic — click and you're there!

Take a peek at the implementation:

const payment = await SettlementService.createPayment({
  workspaceId,
  tokenSymbol: token,
  ...
});

return NextResponse.json({
  paymentId: payment.id,
  paymentUrl: getPaymentCheckoutUrl(payment.id),
  ...
}, { status: 201 })

Imagine you're crafting that killer dApp, and your users are just a URL away from completing their transaction. It's seamless, efficient, and gets your users exactly where they need to be. No more getting lost in the abyss of the internet. ⚡

Public Merchant Page Configuration: Show ‘em What You’ve Got!

Strut your stuff with pride, because now you can configure a public merchant page through the settlement settings. Let your users gaze upon your offerings in all their glory like it’s the Met Gala of crypto payments.

This snippet from app/api/pay/[id]/route.ts shows how we're sanitizing fields for the public checkout:

return NextResponse.json({
  id: payment.id,
  amount: payment.grossAmount,
  tokenSymbol: payment.tokenSymbol,
  ...
});

Think of it as your own digital storefront — minus the overpriced rent and cranky landlords. 🏠✨

Improving the Developer Dashboard Experience

Nobody likes a cluttered workspace. That's why we've given the dashboard links for payment links and payouts a little spring cleaning. Now, navigation is smoother than your favorite JavaScript refactor.

Here’s a sneak peek into the dashboard improvements:

index 0000000..94e57a3
--- /dev/null
+++ b/app/api/dashboard/payment-links/route.ts

Keeping the codebase clean isn’t just about aesthetics. It’s about giving you the best developer experience possible. So, let’s make sure your coding sessions feel more like a spa day and less like a trip through Mordor. 🏞️

Call to Action: Dive into the New Features!

So, what are you waiting for? These updates are live and ready to take your crypto payment game to the next level. Go forth, experiment, and let us know how it feels. We're all ears for your feedback and any tales from the cryptoverse.

Hit up our documentation for more juicy details, or dive right into the code. We promise it’s more fun than a sandbox game. 🎮🛠

Until next time, keep your code clean and your crypto secure. Happy coding! 🎉


Remember, this isn't just an update; it’s your invitation to create, innovate, and dominate. Embrace the future with PayDirect!

Tip the Author

Powered by PayDirect on Base

Enjoyed this post? Send a tip using crypto. We eat our own dog food.

USDC

More from PayDirect

Powered by ContentAgent