在创建connect express帐户结束时,我无法向条带标记端点发送“POST”请求。目前,我的应用程序(ios)正在打开OAuth链接(其中包含重定向uri到我的服务器(Firebase功能))到由条带创建的快速帐户创建网页。用户完成帐户设置后,我会在后端收到授权码,然后使用授权码和client_secret_key向“https://connect.stripe.com/oauth/token”发送POST请求。我正在使用XMLHttpRequest npm在firebase函数中发送POST请求并设置我的参数
var params = "client_secret=" + CLIENT_SECRET + "&code=" + AUTHORIZATION_CODE + "&grant_type=authorization_code"
和我的请求标题一样
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
然而,我在发送POST请求后收回此错误
"error": {
"type": "invalid_request_error",
"code": "unsupported_content_type",
"message": "Invalid request: unsupported Content-Type text/plain;charset=UTF-8. If error persists and you need assistance, please contact support@stripe.com."
}
我以为我正在将请求标头内容类型设置为“application / x-www-form-urlencoded”,但仍然会收到错误,就像内容类型是“Text / plain”一样。
这是完整的后端代码
exports.CreateUsersPayoutAccount = functions.https.onRequest((req, res) =>{
const userID = req.query.state
const AUTHORIZATION_CODE = req.query.code
console.log(userID)
console.log(AUTHORIZATION_CODE)
//console.log(req);
var request = new XMLHttpRequest()
request.addEventListener('load', getStripeConnectUserID)
var params = "client_secret=" + CLIENT_SECRET + "&code=" + AUTHORIZATION_CODE + "&grant_type=authorization_code"
//var params = JSON.stringify({client_secret : CLIENT_SECRET, code : AUTHORIZATION_CODE, grant_type : "authorization_code"})
console.log(params);
request.open("POST", "https://connect.stripe.com/oauth/token", true)
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
//request.setRequestHeader("Content-length", params.length)
request.send(params)
})
如果有人能指出我正确的方向,我将非常感激,我对写后端HTTP电话有些新意。
答案 0 :(得分:0)
我理解为什么你将uri直接指向你的特定云功能(因为它是一个http触发器),但不是发送uri的重点,这样条带可以将用户重定向回特定的应用页面,用户是否仍会被定向回到您的案例中的应用程序???