[英]Stripe PHP charge::create response
我正在開發一個帶有 PHP 后端的 Ionic 5 應用程序。 我從 Stripe 文檔中復制了代碼並將其放入 try/catch 中,如下所示:
\Stripe\Stripe::setApiKey('sk_test_********************');
$postedChargeObject = file_get_contents("php://input");
$cO = json_decode($postedChargeObject);
try {
$charge = \Stripe\Charge::create([
'amount' => $cO->amount,
'currency' => 'usd',
'description' => 'charge test with token 2',
'source' => $cO->token,
]);
echo "success";
} catch(\Stripe\Error\Base $e){
echo($e->getMessage());
} catch (Exception $e){
echo $e;
}
隨着echo "success" ,我得到了一些意想不到的行為。 1)從我的服務器獲得任何響應需要很長時間,並且 2)我在開發人員控制台中收到以下錯誤:
如果我注釋掉回顯“成功” ,它仍然需要幾秒鍾,但收費會通過,因為我可以在我的 Stripe 儀表板上看到它。
理想情況下,我希望我的 PHP 腳本使用 Stripe::create 向卡收費並返回收費 object,如Stripe 收費 object 文檔中所定義,返回客戶端腳本。 因此,不僅僅是回顯“成功” ,而是整個 Stripe 充電 object。
我調用 PHP 腳本的服務是:
chargeCardForOrder(chargeObj): Observable<any> {
let c = JSON.stringify(chargeObj);
console.log("stringified c from service", c);
return this.http.post(this.chargeUrl, c);
}
調用該服務的 My.ts 文件是:
this.coService.chargeCardForOrder(cO).subscribe( resp => {
console.log( "response from server charge", resp );
})
附帶說明一下,如果我從 PHP 腳本中取出回顯“成功” ,則費用會按照我的 Stripe 儀表板進行,但控制台會顯示“response from server charge null” 。 我很困惑我錯過了什么。 您的幫助將不勝感激。
您的客戶端代碼需要 JSON object,而您發送的只是字符串success
,它是無效的 JSON。 您可能應該以客戶端代碼期望的形狀使用 JSON 進行響應,或者如果客戶端不需要任何內容,則根本不返回任何內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.