#deondk-fees

1 messages ยท Page 1 of 1 (latest)

sleek ridge
#

hi! It depends if you're using Destination or Direct Charges.

#

might be easiest if you share a specific payment pi_xxxx you are looking at.

zealous terrace
#

pi_3KsOL62UeUUJr2Wi0WHbIBgY

sleek ridge
#

does that answer the question?

zealous terrace
#

what do I need to change to make it a destination charge instead?

#

TransferData = new PaymentIntentTransferDataOptions
{
Destination = "{{CONNECTED_STRIPE_ACCOUNT_ID}}",
},
};

#

add this?

sleek ridge
#

do you know why you want to use Destination charges?

#

doesn't seem related to what you're asking, so maybe if you could explain in more detail what the unexpected behaviour you're trying to avoid is from the scenario I described I can suggest the best option

zealous terrace
#

well our agreement with our express account holders is we charge the a flat fee of 2.2%

sleek ridge
#

and my understanding with express that all transaction fees should come off the platform account?
but yeah that is not inherent to using Express

#

it's inherent to using Destination charges

zealous terrace
#

and transaction charge comes off our account

sleek ridge
#

you can use Direct or Destination, either is possible(but you should use Destination for Express usually yes)

zealous terrace
#

so there is no way with Direct charge to have the transaction cost come off our account?

sleek ridge
#

no, since then it wouldn't be a Direct Charge, it would be Destination

zealous terrace
#

on a destination charge can I still confirm=true when creating paymentintent?

sleek ridge
#

yes, that's not related at all, so yes

zealous terrace
#

ok cool. will then have to change to destination charge

#

thanks

#

is there a way to confirm on the API log that it was a destination charge?

remote sapphire
#

Hello ๐Ÿ‘‹
Taking over from karllekko here
I can check it for you if you want
I'd need the Payment Intent ID

zealous terrace
#

ok just doing some testing now

#

will let you know when I have a pi

remote sapphire
#

NP! ๐Ÿ™‚

zealous terrace
#

Amount = (long)payment.Amount * 100,
Currency = currency.CurrencyCode,
Description = payment.Description,
PaymentMethodId = paymentMethod.Id,
ApplicationFeeAmount = (long)totalApplicationFee,
TransferData = new PaymentIntentTransferDataOptions
{
Destination = subvendorMerchantId,
},
Confirm = true,
ReturnUrl = "https://www.lastmanstands.com/auth-load"

#

this is my PaymentIntentCreateOptions

#

getting "transfer data param cannot be set to your own account"

#

but definitely not my own account

remote sapphire
#

You were using direct charges previously, yes?
So it is likely that their account ID is still set as Stripe-Account header

zealous terrace
#

this:var requestOptions = new RequestOptions
{
StripeAccount = subvendorMerchantId,
ApiKey = apiKey
};

#

should I just remove StripeAccount?

#

or should that now be my platform account?

remote sapphire
#

yes you can remove it

#

since you're making the request using platform's API key

zealous terrace
#

now its not getting the payment method...mmm

#

Im creating the payment method on the connected account before charging

#

I guess this isnt nescesary

#

anymore

remote sapphire
#

yup you'd want it on the platform now

zealous terrace
#

this is how Im creating the paymentmethod:

#

var options1 = new PaymentMethodCreateOptions
{
CustomerId = payment.StripeCustomerId,
PaymentMethodId = payment.StripeCardId
};
var requestOptions1 = new RequestOptions
{
ApiKey = apiKey
};

                var service = new Stripe.PaymentMethodService();
                var paymentMethod = service.Create(options1, requestOptions1);
#

but now getting an error:

#

In order to share PM you must pass connected account ID by using oAuth or the stripe account

#

do I need to put our account ID there as StripeAccount =

remote sapphire
#

You'd not need StripeAccount header anywhere anymore. You had to use it before since you were creating charges for a connected account.

zealous terrace
#

ok...

#

why am I getting this error:

#

In order to share PM you must pass connected account ID by using oAuth or the stripe account

remote sapphire
#

do you have a request ID I can take a look at? should look like req_xxxx
You'd find it under account logs

zealous terrace
#

req_RFhgMVSMoFewNw

remote sapphire
#

This request is still using the Stripe-Account header, so it's trying to find this PM on the connected account

zealous terrace
#

sorry I tried something there

#

thry this one:

#

sorry wait...let me do a new one

#

got the same error when removing the header

#

will send now

#

req_F7Zp74CF7bhQhx

remote sapphire
#

Give me a few to look into it

zealous terrace
#

think I got the issue

#

I think Initially I do create the PM on the platform account

#

so I should just be passing the PM ID and not create it again

remote sapphire
#

Yup that sounds reasonable

zealous terrace
#

req_ifA5kCWpOy8Ge3

#

was this a destination charge?