#xkernel

1 messages · Page 1 of 1 (latest)

pseudo grottoBOT
#

Hello! We'll be with you shortly. Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.

grand flame
torn pebble
#

yea, i read that doc as well. but the confusion here is that i wanna allow the seller to receive funds as well as be able to purchase from other sellers.
imagine a digital marketplace where you as a graphic designer can create and sell your digital item, as well as purchase some other digital asset from another graphic designer on the same platform.

grand flame
#

For this case, each user should have two Stripe Object:

  • Stripe Connect Account, in order to sell goods
  • Stripe Customer in order to buy goods
torn pebble
#

cannot allow the user to set one debit card for both sell and buy?

grand flame
#

Yes you can, you attach the card for both Stripe object

torn pebble
#

can i see the snippet for this type? like the snippet above

grand flame
#

No.

#

That' for creating a Stripe Connect Account, for the seller part

torn pebble
#

ok i think i couldn't say what exactly i am looking for. let me rephrase.

  1. i am trying to create an Express Connect account for my seller at sign-up stage.
    1.1 i want this account to be able to receive fouds from the platform (receive the money after someone bought his item)
    1.2 i want this account to be able to send funds to the platform (buying another seller's item)

so for these two 1.1 & 1.2 i thought i needed to add both capabilities just like the given snippet above.

grand flame
#

Ok let's tackle this one by one.

1.1 i want this account to be able to receive fouds from the platform (receive the money after someone bought his item)
Here you need to create an Express Connect Account, I imagine you will be using/implementing Destination Charges:
https://stripe.com/docs/connect/destination-charges?

#

Once an end customer buy something from your Express Connect, they receive funds for that.

torn pebble
grand flame
#

Great.

#

Now let's move forward for the second part:

1.2 i want this account to be able to send funds to the platform (buying another seller's item)
You need to create a Stripe Customer (https://stripe.com/docs/api/customers) that represents your connect Account in your platform account, like any other end-customer. If they buy something from your market place they'll be considered as any other end-customer for another Express Connect Account (1.1)

torn pebble
grand flame
#

You need both Stripe Objects

#

Connect Account (for beeing seller) and Customer (for beeing end customer/buyer)

torn pebble
#

alright, so can we create StripeAccount + StripeCustomer at the same time at the sign-up stage?

#

btw, my code for the signup stage is like this. (not completed though)

func createSellerAccount() {
    param := &stripe.AccountParams{
        Type:    stripe.String(string(stripe.AccountTypeExpress)),
        Country: stripe.String(sellerCountry),
        Capabilities: &stripe.AccountCapabilitiesParams{
            Transfers: &stripe.AccountCapabilitiesTransfersParams{
                Requested: true,
            },
        },
    }
....

So is that correct for creating the seller's Connect Account?

grand flame
#

You'll need the card payments capability too

#

Your first parameters were fine.

torn pebble
# grand flame You'll need the card payments capability too
func createSellerAccount() { 
    param := &stripe.AccountParams{
        Type:    stripe.String(string(stripe.AccountTypeExpress)),
        Country: stripe.String(sellerCountry),
        Capabilities: &stripe.AccountCapabilitiesParams{
            CardPayments: &stripe.AccountCapabilitiesCardPaymentsParams{
                Requested: stripe.Bool(true),
            },
            Transfers: &stripe.AccountCapabilitiesTransfersParams{
                Requested: true,
            },
        },
    }
...
grand flame
#

That's good

torn pebble
#

ok here is what i understand so far

func createSellerAccount() {
    // for being a seller and receive funds   
    sellerParams := &stripe.AccountParams{ 
        Type:    stripe.String(string(stripe.AccountTypeExpress)),
        Country: stripe.String(sellerCountry),                          
        Capabilities: &stripe.AccountCapabilitiesParams{
            CardPayments: &stripe.AccountCapabilitiesCardPaymentsParams{
                Requested: stripe.Bool(true),                           
            },                                                          
            Transfers: &stripe.AccountCapabilitiesTransfersParams{      
                Requested: stripe.Bool(true),                           
            },                                                          
        },                                                              
    }                                                                   
    resultAsSeller, err := account.New(sellerParams)                    
                                                                        
    // for being a buyer and spend money to buy other's items        
    sellerToBuyParams := &stripe.CustomerParams{                        
        Name:  stripe.String(sellerName),                               
        Email: stripe.String(sellerEmail),                              
    }                                                                   
    resultAsSellerToBuy, err := customer.New(sellerToBuyParams)         
}
torn pebble
grand flame
#

you need to select the country of your Connected Account

#

where are they based

#

Whree are you expecting to onboard sellers

#

or in other words what are the allowed counties from which sellers can be onboarded to your market place

torn pebble
#

let's say my platform account is in Singapore and the seller is from Norway. Should i select Singapore & Norway?

grand flame
#

Norway

torn pebble
#

but my sellers are going to be all around the world. so i should select all these countries. am i right?

grand flame
#

yes

torn pebble
#

so the next step automatically filledup for me

grand flame
#

yeap

torn pebble
#

and i've checked the 1099 tax complience (i think this is going to charge sellers tax if they are in US, am i right?)

grand flame
#

yes these for US

torn pebble
#

should i check the 1099-MISC too ?

grand flame
#

Don't know this honestly well, keep in mind this channel is for technical integration questions only

torn pebble
#

okay, sorry

grand flame
grand flame
#

Happy to help!

torn pebble
#

so I've completed that setup and pressed save

torn pebble
grand flame
#

yes

#

I invite you to some tests now on your integration.

torn pebble
grand flame
grand flame