簡體   English   中英

條帶 PHP 充電::創建響應

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM