Skip to main content
Version: 1.28 (Current)

Stripe Payment through the platform (unsafe - obsolete)

Audience: Low-code Engineers

Skill 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.

caution

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.

note

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​

Action NameDescription
Stripe CheckoutThe 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 AccountFinds a seller's connected account ID by email.
Stripe Add SellerConnects a seller's Stripe account to your platform.

Input Parameter Reference​

ParameterDescriptionSupports TokensDefaultRequired
API Secret KeyYour platform's Stripe secret key.Yesempty stringYes
Application Fee PercentageThe fee your platform keeps, as a percentage of Amount. Use a dot for decimals, for example 2.35. Required when Payment To is set.Yesempty stringYes, with Payment To
Application Fee Fixed AmountA fixed fee added to the percentage fee, in the currency's normal units, for example 0.50.Yesempty stringNo
Payee EmailThe payer's email. Stripe sends the receipt to it and saves it on the new customer.Yesempty stringNo
DescriptionA description of the payment, also saved on the new customer.Yesempty stringNo
Payment ToThe seller's connected account ID, for example [SellerAccountId]. Leave it empty to keep the whole payment on your platform, with no fee.Yesempty stringNo
Card NumberThe card number.Yesempty stringYes
Card CVC/CCVThe card's security code.Yesempty stringYes
Card Expiration MonthThe expiry month, as a number from 1 to 12.Yes0Yes
Card Expiration YearThe expiry year, for example 2029.Yes0Yes
Card Owner's NameThe name on the card.Yesempty stringNo
Card Address CityThe card's billing city.Yesempty stringNo
Card Address CountryThe card's billing country.Yesempty stringNo
Card AddressThe card's billing street address.Yesempty stringNo
AmountThe amount to charge, in the currency's normal units, for example 25.50. For zero-decimal currencies like JPY, use whole units.Yesempty stringYes
CurrencyThe three-letter currency code, for example USD.Yesempty stringYes
On SuccessActions that run when the charge succeeds.NoemptyNo
On ErrorActions that run when Stripe returns an error, for example a declined card. The message is in [Stripe:ErrorMessage].NoemptyNo

Output Parameters Reference​

OutputDescription
[Stripe:ChargeId]The ID of the Stripe charge, for example ch_....
[Stripe:ErrorMessage]The Stripe error message. Available in On Error.

How it works​

  1. The action creates a Stripe customer on your platform account, with the card, email and description.
  2. It creates a charge on your platform account. If Payment To is set, the charge has that account as its destination, and the fee is kept by the platform.
  3. Stripe transfers the rest of the payment to the seller.
  4. The action saves the charge ID in [Stripe:ChargeId] and runs On 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, not 2550, even though the product's help text says cents.
  • Write zero-decimal currency codes in upper case. The action recognizes zero-decimal currencies, like JPY or KRW, only in upper case. In lower case, the amount is multiplied by 100.
  • Not every error runs On Error. On Error only runs for Stripe errors. An invalid amount, an empty fee percentage with Payment To, or a charge that isn't paid raises an error that stops the action list. If On Error is empty, Stripe errors stop it too. Use the On Error list 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​

tip

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