Shell Python Node PHP C# Ruby

Fee & Pricing Control

curl "https://api.payload.co/transactions/txn_3bW9JN4BVk3wU0ZZQs2Ay\
    -u secret_key_3bW9JMZtPVDOfFNzwRdfE:
payment = pl.Payment.get('txn_3bW9JN4BVk3wU0ZZQs2Ay')

print(payment.fee) # Fee charged to the processing account
payment = Payload::Payment.get('txn_3bW9JN4BVk3wU0ZZQs2Ay')

puts payment.fee # Fee charged to the processing account
<?php
$payment = Payload\Transaction::->get('txn_3bW9JN4BVk3wU0ZZQs2Ay');

echo $payment->fee; # Fee charged to the processing account
echo "\n";
?>
pl.Payment.get('txn_3bW9JN4BVk3wU0ZZQs2Ay')
    .then(function(payment){
        console.log(payment.fee) // Fee charged to the processing account
    })
var payment = pl.Payment.get("txn_3bW9JN4BVk3wU0ZZQs2Ay");

Console.WriteLine( payment.fee ); // Fee charged to the processing account

Net Deposits

Processing fees by default are configured to be netted out of the deposit to the processing account. The total fee amount netted from a deposit can be found in the fee attribute. If your account is configured for gross deposits, the fee attribute will be zero.

Gross Deposits

If your processing account is set to gross deposits, your processing fees will be deducted monthly. By default, the fees will be debited directly from the processing account funding method but you can override this to use a separate account.

Adjustable Rates

Rates can be adjustable based on industry, volume, and type, i.e.: debit card, credit card, and bank account payments.

For more information, please reach out at sales@payload.co.

Platform Upcharging

For platforms offering Payload payment services to their customers, if applicable for our rev-share program, platforms can add an upcharge to their processing rates.

For more information, please reach out at sales@payload.co.

Convenience Fees

curl "https://api.payload.co/transactions/txn_3bW9JN4BVk3wU0ZZQs2Ay?field=*,conv_fee" \
    -u secret_key_3bW9JMZtPVDOfFNzwRdfE:
payment = pl.Payment.select(
        pl.attr.conv_fee,
        *pl.Payment
    )\
    .get('txn_3bW9JN4BVk3wU0ZZQs2Ay')

print(payment.fee) # Fee charged to the processing account
print(payment.conv_fee) # Fee charged to the customer
payment = Payload::Payment.get('txn_3bW9JN4BVk3wU0ZZQs2Ay',
    fields: '*,conv_fee')

puts payment.fee # Fee charged to the processing account
puts payment.conv_fee # Fee charged to the customer
<?php
$payment = Payload\Transaction::select('*', 'conv_fee')->get('txn_3bW9JN4BVk3wU0ZZQs2Ay');

echo $payment->fee; # Fee charged to the processing account
echo "\n";
echo $payment->conv_fee; # Fee charged to the customer
echo "\n";
?>
pl.Payment.select( '*', pl.attr.conv_fee )
    .get('txn_3bW9JN4BVk3wU0ZZQs2Ay')
    .then(function(payment){
        console.log(payment.fee) // Fee charged to the processing account
        console.log(payment.conv_fee) // Fee charged to the customer
    })
var payment = pl.Payment
    .select( '*', pl.attr.conv_fee )
    .get("txn_3bW9JN4BVk3wU0ZZQs2Ay");

Console.WriteLine( payment.fee ); // Fee charged to the processing account
Console.WriteLine( payment.conv_fee ); // Fee charged to the customer

By using Payload Checkout, you can configure certain fees to be charged as a convenience for different types of payment methods. You can configure how much of the processing fee you want to cover, e.g.: all, none, or part of the fee. This can be set differently by payment method, i.e.: debit card, credit card, or bank account and can also be different for different parts of your application. The convenience fee amount is stored in the conv_fee attribute which must be explicitly requested using the select() function.