Transfers from being made to international accounts from the United States

Hi, I’m receiving payout failed emails.


I understand the middle message for having insufficient funds but here’s what I understand about the “full” service agreement fails:

  1. On account creation, hivepress automatically sets new connect accounts to have a “full” service agreement instead of a “recipient” service agreement which prevents transfers from being made to international accounts from the United States?

  2. I understand that in the future i can use this php snippet to set new accounts to accept “recipient” agreements:

add_filter(
	'hivepress/v1/components/stripe/create_account',
	function($args){
		$args['tos_acceptance']['service_agreement'] = 'recipient';
		return $args;
	},
	1000
);

Is this the correct php snippet?

Questions:

  • Is this “full” service agreement only an issue for people who use hivepress in the United States?
  • Is there anyway to change the current service agreements for already signed up vendors or will they need to create a new account?
  • Will I need to use external payout methods (Paypal, etc.) to pay vendors who are stuck on the “full” service agreement for all current and future transactions?

Some support would be awesome as this could cause a lot of complications now and into the future. Thank you.

Reference Threads:

Hi,

Please provide more details. If you change the agreement type, do transfers work the same way? Have you done any research on Stripe’s documentation? If so, please send us a link to that documentation, etc. Yes, this can be changed in the future with a PHP snippet or globally if we release an update.

We recommend contacting Stripe support regarding questions about deleting and re-adding express accounts.

Okay so I checked stripe documenation here and according to their docs,

You can change the type of service agreement up until the time they accept it.

meaning that once the user’s account is created, there’s no way of manually changing it from the stripe connect dashboard. I’m still waiting on a response about the deleting and re-adding express accounts.

I’m just a little confused about why when designing Hivepress you guys decided to go with setting new stripe connect accounts to sign up with a ‘full’ service agreement by default.

According to the stripe service agreement docs,
setting accounts to a ‘full’ service agreement creates a service agreement between the Hivepress vendors and stripe. This allows the connected accounts to have the ability to process and request card payments, which I can’t really imagine why vendors would need to do if they already using our website and woocommerce to do. (I’m using the taskhive theme if it makes any difference.)

The ‘recipient’ service agreement type “clarifies that there is no service relationship between Stripe and the recipient” and “that the recipient’s (users of Hivepress) relationship is with the platform”, according to Stripe. Connected accounts with this agreement do not have the ability to process card payments but they are allowed CROSS-BORDER payouts which I imagine that most Hivepress users would want. The cross-border payout option is not available in the ‘full’ service agreement.

I really do love Hivepress so please take my messages lightly but I don’t understand why you guys decided to do this. That’s why I was curious if failed payouts were only a U.S. issue.

This isn’t also the first type it has happened. Users also reported this issue here and here (which I referenced in my first post) from November '22!! I think updating the Hivepress Stripe API code* to make new accounts sign up with the ‘recipient’ service agreement is a much-needed change so that new users of Hivepress don’t have to worry about payouts failing in the future.

I understand that this could also be my fault for not testing the payout system effectively so I apologize if this entire message ends out useless.

Anyways, what is the best course of action of manually paying out the ‘full’ service agreement vendors that have already signed up and how can I set the status of the order to paid once the funds settle so that it doesn’t repeatedly try to automatically payout to those vendors?

*Also, the create new account code is at this path if you need help knowing what im talking about:

public_html/wp-content/plugins/hivepress-marketplace/includes/controllers/class-payout.php

Thanks for the detailed feedback, indeed the “recipient” agreement is better for most of the HivePress Marketplace use-cases, we’ll set it in the code in the next Marketplace update. If it’s urgent we can provide a code snippet to override the API parameters via a hook, let me know.

Thank you I hope that it helps other hivepress users.
Regarding the hook, I believe that I already have the correct php snippet which is the same one I sent above but I was wondering what the best way is to manually payout vendors who aren’t able to receive the automatic payouts.

1 Like

If Stripe Connect is enabled, then every payout will be sent as a Stripe transfer, unfortunately there’s no way to make exceptions for specific users in the current version.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.