Stripe Payment through the platform (unsafe - obsolete)
Audience:
Low-code EngineersSkill Prerequisites:
Actions,Tokens
Charges a credit card on your Stripe platform account, then sends the money to a seller's connected account automatically. Your platform keeps an application fee. Refunds must be made by the platform.
If you leave Payment To empty, the whole payment stays on your platform account.
This action is obsolete and unsafe. Don't use it in new applications.
- The card number, CVC and expiry pass through your server as plain values. This puts your site in scope for PCI card-data rules.
- It uses Stripe's older Charges API, without 3D Secure. Many European cards and banks decline these payments under Strong Customer Authentication (SCA) rules.
Use Stripe Checkout instead. Card details stay on Stripe's page, and its Transfer Destination and Application Fee Amount work the same way as this action's Payment To and fees.
This action is part of the Stripe add-on (DnnSharp.Stripe). The add-on is installed separately and needs the STRIPE feature in your license. If it isn't licensed, the action fails with a "not licensed" error. If you don't see the Stripe actions, the add-on isn't installed.
Typical Use Cases
- Keep an existing application working while you move it to Stripe Checkout
Don't use it to
- Build a new payment form. Use Stripe Checkout instead.
- Charge directly on the seller's account. That's Stripe Direct Payment (unsafe - obsolete), which is also obsolete.
Related Actions
| Action Name | Description |
|---|---|
| Stripe Checkout | The recommended way to take payments, including payments to sellers. |
| Stripe Direct Payment (unsafe - obsolete) | Charges directly on a seller's account. |
| Stripe Payment with Token (not SCA compliant) | Charges a card token instead of raw card details. |
| Get Stripe User Account | Finds a seller's connected account ID by email. |
| Stripe Add Seller | Connects a seller's Stripe account to your platform. |
Input Parameter Reference
| Parameter | Description | Supports Tokens | Default | Required |
|---|---|---|---|---|
| API Secret Key | Your platform's Stripe secret key. | Yes | empty string | Yes |
| Application Fee Percentage | The fee your platform keeps, as a percentage of Amount. Use a dot for decimals, for example 2.35. Required when Payment To is set. | Yes | empty string | Yes, with Payment To |
| Application Fee Fixed Amount | A fixed fee added to the percentage fee, in the currency's normal units, for example 0.50. | Yes | empty string | No |
| Payee Email | The payer's email. Stripe sends the receipt to it and saves it on the new customer. | Yes | empty string | No |
| Description | A description of the payment, also saved on the new customer. | Yes | empty string | No |
| Payment To | The seller's connected account ID, for example [SellerAccountId]. Leave it empty to keep the whole payment on your platform, with no fee. | Yes | empty string | No |
| Card Number | The card number. | Yes | empty string | Yes |
| Card CVC/CCV | The card's security code. | Yes | empty string | Yes |
| Card Expiration Month | The expiry month, as a number from 1 to 12. | Yes | 0 | Yes |
| Card Expiration Year | The expiry year, for example 2029. | Yes | 0 | Yes |
| Card Owner's Name | The name on the card. | Yes | empty string | No |
| Card Address City | The card's billing city. | Yes | empty string | No |
| Card Address Country | The card's billing country. | Yes | empty string | No |
| Card Address | The card's billing street address. | Yes | empty string | No |
| Amount | The amount to charge, in the currency's normal units, for example 25.50. For zero-decimal currencies like JPY, use whole units. | Yes | empty string | Yes |
| Currency | The three-letter currency code, for example USD. | Yes | empty string | Yes |
| On Success | Actions that run when the charge succeeds. | No | empty | No |
| On Error | Actions that run when Stripe returns an error, for example a declined card. The message is in [Stripe:ErrorMessage]. | No | empty | No |
Output Parameters Reference
| Output | Description |
|---|---|
[Stripe:ChargeId] | The ID of the Stripe charge, for example ch_.... |
[Stripe:ErrorMessage] | The Stripe error message. Available in On Error. |
How it works
- The action creates a Stripe customer on your platform account, with the card, email and description.
- It creates a charge on your platform account. If
Payment Tois set, the charge has that account as its destination, and the fee is kept by the platform. - Stripe transfers the rest of the payment to the seller.
- The action saves the charge ID in
[Stripe:ChargeId]and runsOn Success.
The fee is Amount × Application Fee Percentage ÷ 100, rounded down, plus Application Fee Fixed Amount. For example, 100.00 with 2.35 and 0.50 gives a fee of 2.85.
Considerations
- Amounts are in normal units, not cents. The action converts them for you. Enter
25.50, not2550, even though the product's help text says cents. - Write zero-decimal currency codes in upper case. The action recognizes zero-decimal currencies, like
JPYorKRW, only in upper case. In lower case, the amount is multiplied by 100. - Not every error runs On Error.
On Erroronly runs for Stripe errors. An invalid amount, an empty fee percentage withPayment To, or a charge that isn't paid raises an error that stops the action list. IfOn Erroris empty, Stripe errors stop it too. Use theOn Errorlist of Execute Actions to catch them. - Numbers depend on the server's culture. Amounts and fees are read with the server's number format. Use a dot for decimals on an English server.
Examples
To understand how to use the below examples, please see Running Examples.
1. Charge a card and pay a seller
This action charges [Total] USD on the platform, keeps a 10% fee and sends the rest to the seller. If Stripe returns an error, the form shows it.
{
"Title": "Stripe Payment through the platform (unsafe - obsolete)",
"ActionType": "StripeExecute",
"Description": "Charge the card and transfer to the seller",
"Parameters": {
"APISecretKey": "[StripeSecretKey]",
"ApplicationFee": "10",
"ApplicationFeeFixedAmount": "0",
"PayeeEmail": "[Email]",
"Description": "Order [OrderId]",
"PaymentTo": "[SellerAccountId]",
"CardNumber": "[CardNumber]",
"CardCvc": "[CardCvc]",
"CardExpirationMonth": "[CardMonth]",
"CardExpirationYear": "[CardYear]",
"CardName": "[CardName]",
"CardAddressCity": "[City]",
"CardAddressCountry": "[Country]",
"CardAddressLine": "[Address]",
"Amount": "[Total]",
"Currency": "USD",
"OnSuccess": [],
"OnError": [
{
"Title": "Display Error Message",
"ActionType": "ShowError",
"Parameters": {
"Message": "The payment failed: [Stripe:ErrorMessage]"
}
}
]
}
}
Revised 09/27/2026