, поэтому я потратил немало времени (недель) на решение этой проблемы, однако до сих пор не смог понять, как ее решить. Я полагаю, что я сузил это до проблемы попытки запустить веб-крючок Stripe Connect после того, как пользователь заполнил форму регистрации через процесс Stripe Connect Express. Вот пример, который Stripe дает с демонстрацией RocketRides.io . Я отправил вопрос в полоску, но жду ответа. Я надеялся быстрее достичь этого с помощью сообщества SO.
Ранее я задавал другие вопросы, преследуя общеизвестных кроликов в их различных норах, пока я go проходил через процесс проб и ошибок. пытаясь сузить вопрос, так что терпите меня. Вы можете найти эти другие ссылки в нижней части этого поста с вопросом.
Фрагмент ниже показывает мой Stripe CLI Log, когда я "слушаю" с stripe listen
.
Этот фрагмент отображает stripe logs tail
customer.created
срабатывает при пользователь подписывается на мое приложение, что должно происходить с использованием приведенного ниже кода. Я не уверен, должно ли это использоваться при попытке использовать учетную запись Stripe Connect, что является моим намерением. Я все еще разбираюсь в Stripe. Суть в том, что мне нужно иметь возможность выплаты и подписки, и из проведенного мною исследования Stripe Connect указывает направление на go.
exports.createStripeCustomerHTTPSCall = functions.firestore.document('Users/{userName}').onCreate((change, context) =>{
console.log("Stripe Customer profile for " + context.params.userName + " created.");
return stripeToken.customers.create(
{
description: 'My First Test Customer (created for API docs)',
email: context.params.userName,
},
(err, customer) => {
// asynchronously called
console.log("Creating Stripe customer failed because: " + err.toString())
}
)
Как только пользователь зарегистрируется в приложении и зарегистрирован в FirebaseDatabase как пользователь, они будут перенаправлены в Stripe Connect Express форму .
Проблема, с которой я сейчас сталкиваюсь, заключается в том, чтобы получить полосу для запуска Connect Webhook , которая вызовет Шаг 4, версию cURL-запроса Cloud Functions к перенаправленному URL с Authentication code
и, возможно, state code
. Событие account.application.authorized
происходит в моем слушателе только после того, как я отправил запрос cURL (я думаю, это называется запросом GET? Я не являюсь официально обученным программистом)
Я считаю, что проблема заключается в настройке запустить веб-крючок, как только пользователь заполнил форму и перенаправлен, как мне кажется, account.updated
?
Вот мои настройки веб-крюка:
Вот мой Node.js код. Я не уверен, что это уместно, так как я не могу даже запустить webhook, но на всякий случай:
exports.stripeCreateOathResponseToken = functions.https.onRequest((req, res) => {
console.log("rawbody: " + rawbody); // <-- usually comes back with req.rawbody
console.log("request.body: " + req.body); // <-- returns undefined
console.log("request.query.code: " + req.query.code); // <-- returns undefined
console.log("request.query.body: " + req.query.body); // <-- returns undefined
console.log("request.query.state: " + req.query.state); // <-- returns undefined
return stripeToken.oauth.token({
grant_type: 'authorization_code',
code: req.query.code,
}).then(function(response) {
// asynchronously called
return res.send(response)
// var connected_account_id = response.stripe_user_id;
})
.catch(error=> {
res.send(error)
})
});
В случае, если это уместно, вот код android kotlin для пользователя решает подписаться на возможности выплат. AKA Stripe Connect Express
openURL.data = Uri.parse(
"https://connect.stripe.com/express/oauth/authorize?" +
"redirect_uri=http://XXXXXXXXXXXXXX.com&" +
"client_id=ca_XXXXXXXXXXXXXXXXXXXX" + // how to hide client id? maybe look at how to access from stripe CLI
"state=" + mAuth.currentUser!!.uid +
"&stripe_user[email]=" + userEmail +
"&stripe_user[business_type]=individual" +
"&stripe_user[phone_number]=" + userPhoneNumberStripped +
"#/")
startActivity(openURL)
Предыдущие вопросы
Stripe Firebase Cloud Функции - res.send () не является функцией
Cloud Firebase Stripe Connect - получение кода авторизации / токена доступа, состояния и т. Д. c
Облачные функции Firebase - Stripe Connect Webhook не запускается
Android Stripe Connect WebView - Форма для создания учетной записи НЕ загружается