#shaquelkothari

1 messages ยท Page 1 of 1 (latest)

prime crescentBOT
plush shale
#

Hi ๐Ÿ‘‹ how can we help?

#

Oh, I see another message, pulling it's context into the thread.

atomic quest
#

Hey Toby thank you for coming to save the day

#

I have been using stripe custom api when I get to id verification I redirect the user and that is all good

However when I want to update the verification id under the persons API I get a error

plush shale
#

Can you share the ID of a request where you're encountering an error? And help me understand what you were trying to do when making that request?

atomic quest
#

Yes sure

#

verification_session = Stripe::Identity::VerificationSession.create({
type: 'document',
metadata: {
user_id: "#{current_user.id}",
account: "#{partner.stripe_id}"
},
return_url: 'http://localhost:3000/my-dashboard'
})

account = Stripe::Account.retrieve_person(Partner.last.stripe_id, Partner.last.person_id).id

Stripe::Person.update(
"#{partner.stripe_id}",
"#{account}",
Verfication: {
session: verification_session.id
}

)

#

this is the code i wrote in ruby on rails

#

this is the error message i get

#

all variables have the right account and person ids attached

plush shale
#

Which of your variables has the acct_ prefix and which has the person_ prefix? Based on the names of the variables I think you may be supplying them in the wrong order (account ID should be first)?

Additionally, I'm not seeing session as a valid field within the verification hash for updating Person objects. (Please let me know if this seems like a mistake so I can flag with my teams)
https://stripe.com/docs/api/persons/update#update_person-verification

atomic quest
#

They are in the right order

#

I just named the variables diffrenr

#

if you look at my rails console you can see the ids have been saved

plush shale
#

Are you seeing this request logged in your account, and if so can you share the ID of the request (starts with req_) so I can see what we're receiving on our end?
https://support.stripe.com/questions/finding-the-id-for-an-api-request

atomic quest
#

yes im seeing everything complete

#

i just need to add

#

the verfication id to the persons api

#

update it

#

verification_session = Stripe::Identity::VerificationSession.create({
type: 'document',
metadata: {
user_id: "#{current_user.id}",
account: "#{partner.stripe_id}"
},
return_url: 'http://localhost:3000/my-dashboard'
})

account = Stripe::Account.retrieve_person(Partner.last.stripe_id, Partner.last.person_id).id

Stripe::Person.update(
"#{partner.stripe_id}",
"#{account}",
Verfication: {
session: verification_session.id
}

)

Will this code work based on you beliving the ids are correct

#

can i update the verfication_session.id the way i have?

plush shale
#

No, because session isn't a field that exists inside of the verification hash you're referencing. Are you following a guide telling you to update the Person object using that parameter?

atomic quest
#

I was trying loads of things

#

How can I make it work please

plush shale
#

I don't know, I'm still not understanding what you're trying to accomplish.

atomic quest
#

Sorry Toby

#

Please be patient with me and allow me to explain

#

Ok I started with the custom api

#

Everything is working fine

#

Then

#

Then I did the verification redirect

#

Which takes u to stripe to upload your id

#

Once that has been completed

#

It redirects me back to my application

#

Now I want to update the verification id and attach it to the person update api

#

Is this making sense?

#

Then onboarding would be complete

#

This is for stripe connec

#

*connect

plush shale
# atomic quest Is this making sense?

Getting closer, but not there yet.

When you say you "did the verification redirect", can you elaborate on what that means. Are you creating an Account Link and directing the account owner to that so they can step through our hosted onboarding experience, or are you trying to use Stripe Identity and are creating Verification Sessions?

atomic quest
#

Yes that's correct however I'm only using it for uploading identity documents

plush shale
#

What's correct, which one?

#

There are two different paths there, and I need to know which one you're going down.

atomic quest
#

Let me show the code what I did

#

stage 1

account = Stripe::Account.create(
{
type: 'custom',
country: 'GB',
email: "#{current_user.email}",
capabilities: {card_payments: {requested: true}, transfers: {requested: true}},
business_type: 'company',
company: {

    name: "#{company.company_name}",
    address: {
      city: "#{company.region}",
      country: 'GB',
      line1: "#{company.address}",
    
      postal_code: "#{company.postal_code}",
 
    },
    directors_provided: 'true',
    executives_provided: 'true',
    owners_provided: 'true',
    phone: "#{current_user.telephone}",
    tax_id: "#{company.company_number}",
  
  },
  business_profile: {
    url: 'https://eddressbox.com/partnership',
    mcc: '1520',
  },
  external_account: {
    object: 'bank_account',
    country: 'GB',
    currency: 'GBP',
    routing_number: "#{@routing_number}",
    account_number: "#{@account_number}",
    account_holder_name: "#{@account_name}",
    account_holder_type: 'company',

  },

  tos_acceptance: {
    date: timestamp,
    ip: request.remote_ip,
  }
  
}

)

#

stage 2

Stripe::Account.update(
"#{partner.stripe_id}",
company: {
ownership_declaration: {
date: timestamp,
ip: request.remote_ip,

},

}
)

person = Stripe::Account.create_person(
partner.stripe_id,
{
first_name: "John",
last_name: "Doe",
email: "#{current_user.email}",
phone: "+44 #{current_user.telephone}",
dob: {
day: 1,
month: 1,
year: 1990,
},
relationship: {
representative: true, # Set to true if the person is a representative of the company
director: true,
executive: true,
owner: true,
percent_ownership: 25,
title: 'Director',
},
address: {
line1: "33 street",
line2: nil,
city: "London",

    postal_code: "sw16 6nt",
    country: "GB",
  },
  
}

)

#

stage 3

verification_session = Stripe::Identity::VerificationSession.create({
type: 'document',
metadata: {
user_id: "#{current_user.id}",
account: "#{partner.stripe_id}"
},
return_url: 'http://localhost:3000/my-dashboard'
})

account = Stripe::Account.retrieve_person(Partner.last.stripe_id, Partner.last.person_id).id

Stripe::Person.update(
"#{partner.stripe_id}",
"#{account}",
Verfication: {
session: verification_session.id
}

)

#

im trying to complete the final stage 3

#

with the Stripe::Person.update

#

and i want to update it with the verfication_session.id

#

that attaches the idenity documents to the person api

plush shale
#

Where are you seeing that's what you're supposed to do? I'm not seeing a mention of doing that in our documentation for Identity.

Are you trying to create and process a Verification Session, then put some sort of reference to that on the Person object?

atomic quest
#

yes thats correct

#

when i look in the stripe dashboard it says my accounts need idenity verfication

#

and when i do it i need to attach it to the account

plush shale
#

I think you're mixing up using Verification Sessions and collecting enough information for a Custom Connected account to be ready to accept payments/transfers.

Are you planning to use your own flow for collecting details from your Connected Account owners, or would you like to use a Stripe hosted flow?

atomic quest
#

i use both

#

i only use stripe flow for idenity documents

#

i just want to pass the verfication id (idenity documents) to the Person api

#

update the person

plush shale
#

That's not possible as far as I can tell

atomic quest
#

so how do i connect the account to the verfication id

#

as you can see in my picture i sent it asking for id

plush shale
atomic quest
#

The only thing that is missing it identity documents

#

And I have uploaded the documents using stripe flow

#

Now I want to update to the main account

plush shale
#

Did you try creating the Account Link?

atomic quest
#

I have done all of it

#

Already

#

I just need to complete final step

#

I custom coded everything

plush shale
#

Everything you've talked about so far is for Verification Sessions, I have yet to see you mention Account Links or show any code that creates one.

atomic quest
#

Other than identity

#

Look at the code above

#

It there in step 1

#

And step 2

#

I listed it

#

@atomic quest

plush shale
#

Step 1 creates an Account
Step 2 updates the Account
Step 3 creates a Verification Session

Nothing about Account Links

atomic quest
#

Right ok

#

Can you tell more about that please

#

What does a count links do

#

And thank you

plush shale
#

They provide a link to a Stripe hosted page where we collect outstanding requirements from account owners.

atomic quest
#

I don't need that

#

Your not reading my code Toby

#

You can see I done that already

#

I don't need self hosted

#

I'm already doing it manually

#

And I only use stripe hosted page to take the id of my user

#

Then it redirects back

#

To my app

#

Now the identity needs to be connected to the person api

#

Updated

plush shale
#

You keep showing code that points to a parameter that doesn't exist, I don't understand what tells you to do that or why you think that is the right approach, and am trying to understand where you're coming from.

atomic quest
#

U made that clear already

#

I'm asking u how to make that work

plush shale
#

Is there a guide that you're following that you can point me to?

atomic quest
#

Please look at this

plush shale
atomic quest
#

Can you see I only need one thing

#

Let me ask you this will my users that on board on stripe get paid without uploading there identiy?

plush shale
#

If all necessary information to satisfy our requirements are met, then the Connected Accounts will be able to process transactions accordingly.

atomic quest
#

As it mentions in the picture I showed

#

So why does it way it will eventually need the identity uploaded?

#

And what does mean by processing enough volume

plush shale
#

Some information isn't required until thresholds are crossed, such as a certain amount of time passing or a certain amount of payment volume being processed. Those vary based on account country, business type, service agreement, and capabilities, but you can use this document to see what information is required and when for your scenarios.
https://stripe.com/docs/connect/required-verification-information

atomic quest
#

I don't think you gave me the answers I needed

#

Thank you

#

I appreciate you I will have to try again with someone else

plush shale
atomic quest
#

Let me have a look please

#

Yes

#

I just want to verify the identity documents with the person api

#

Is this possible?

plush shale
#

Alright, you said yes you want to use the behavior referenced for additional verifications, but then seem to contradict it by saying you just want to collect identity documents via the Person API. So I'm going to assume the latter is what you're interested in doing.

I believe what you want to do for that is:

  1. Allow your users to provide files to you
  2. Upload those files to Stripe
  3. Provide the IDs of the uploaded files into the verification.document.back and verification.document.front fields on the Person object