Payment Tools (No-Code)
Payment Tools are the simplest way to accept crypto payments. Create one from the dashboard, get a shareable link or embed code, and start collecting payments immediately -- no coding required.
Creating a Payment Tool#
- Log in to your DCP Dashboard
- Go to Payment Tools
- Click Create Payment Link (or Button, or Donation Widget)
- Configure the payment:
| Field | Description | Example |
|---|---|---|
| Title | A label for your reference | "Premium Plan" |
| Amount | Payment amount | 49.99 |
| Currency | Pricing currency | USD |
| Description | Optional text shown to the payer | "One-time setup fee" |
| Integration | Which integration to use (defines chains, tokens, payout wallet) | "My Shop" |
- Click Create
- Click Get Code to see all embed options
Embed Options#
Each Payment Tool generates a unique link ID (e.g., pt_7K8mN9oPqRsT) and offers three embed formats.
Option 1: Payment Link#
A simple URL that opens a hosted payment page. Share it anywhere -- email, social media, messaging apps, QR codes.
<a href="https://pay.directcryptopay.com/pay/pt_7K8mN9oPqRsT">
Pay $49.99 with Crypto
</a>
When someone opens the link:
- They see a hosted payment page with the amount and description
- They connect their wallet (MetaMask, Rabby, etc.)
- They select a chain and token
- They sign and submit the transaction
- Payment is confirmed on-chain by the DCP backend
- You receive a webhook notification (if configured on your integration)
Option 2: Styled Button#
A pre-styled HTML button you can drop into any webpage. Fully customizable with CSS.
<a href="https://pay.directcryptopay.com/pay/pt_7K8mN9oPqRsT"
class="dcp-pay-button"
style="display:inline-block;padding:12px 24px;background:#2563eb;color:white;text-decoration:none;border-radius:8px;font-weight:500;">
Pay $49.99 USD
</a>
Customize the style attribute to match your website's design. The link still opens the hosted payment page.
Option 3: Embedded Widget Button (JavaScript)#
Load the DCP widget script and trigger a payment from your own button using DCP.payWithTool(). The payment modal opens without navigating away.
<script src="https://api.directcryptopay.com/widget/dcp-widget.umd.js"></script>
<button id="pay-btn">Pay with Crypto</button>
<script>
DCP.init({ baseURL: 'https://api.directcryptopay.com' });
document.getElementById('pay-btn').addEventListener('click', function() {
DCP.payWithTool({
toolId: 'pt_7K8mN9oPqRsT',
onTxSubmitted: function(txHash) {
console.log('Transaction submitted:', txHash);
},
onStatus: function(status) {
if (status.type === 'confirmed') {
window.location.href = '/thank-you';
}
},
onError: function(error) {
console.error('Payment error:', error);
}
});
});
</script>
window.DCP (not DirectCryptoPay). The widget script exposes DCP.init(), DCP.payWithTool(), DCP.Payment(), and other methods. See the full API reference.onTxSubmitted does not mean the payment is confirmed. It means the customer signed the transaction. Final confirmation comes via webhooks. Never fulfill orders based solely on client-side callbacks.Use Cases#
Invoicing#
Send a payment link to a client for a specific invoice amount. Include the invoice number in the title for easy tracking.
Donations#
Create a Donation Widget from the Payment Tools page and embed it on your site. Supporters can pay any amount.
Quick Sales#
Generate a link for a one-off product sale or service payment without building a full checkout flow.
Freelance Payments#
Share a link with clients who need to pay for completed work.
Sharing Payment Links#
Payment links can be shared via:
- Email -- Paste the link directly in an email
- Messaging apps -- WhatsApp, Telegram, Discord, etc.
- Social media -- Post on Twitter/X, LinkedIn, etc.
- QR codes -- Generate a QR code from the link for in-person payments
- Website embed -- Use any of the embed options above
Tracking Payments#
All payments made through Payment Tools appear in your Dashboard > Payments section. Each payment shows:
- Payment status (pending, confirmed, expired)
- Amount and token used
- Chain where the payment was made
- Transaction hash (with block explorer link)
- Timestamp
:::tip Optional: Set up Webhooks on your integration to receive automatic server-side notifications when a payment is completed. :::