0

トランザクションが完了した後、支払いゲートウェイからの応答を読み取るスクリプトをコーディングしています。 http://docs.merchee.com/api/push-notifications/index.html

私が取得しているサンプルデータは

$received_values = "
    status_code PAID
    subtotal 10
    success_redirect http://site.com/thanks
    tax_total 0
    total_price 10
    transaction_amount 10
    transaction_date 07/24/2012
    transaction_nmb 101888
    transaction_time 12:43:52
    zip 12345 
";

私は特にラインtransaction_nmbとを探していstatus_codeます。

私は次のようなことをしていると思っています:

$received_values = (array) stripslashes_deep( $_POST );

しかし、それを確認する方法に行き詰まっています.. in_array

ありがとうございました。

4

2 に答える 2

0

$received_values は改行で区切られた文字列のように見えるので、この正規表現 (テストされていません) を使用して値を取得できますか?

preg_match_all('/status_code\s(\w+).+transaction_nmb\s(\d+)/',$received_values, $matches);
// PAID should be in $matches[1]
// 101888 should be in $matches[2]
于 2012-07-24T18:34:03.327 に答える
0

改行で分解します (分解は最も効率的ではありませんが、役に立ちます。

$array = explode('\n', $received_values);

これにより、この各行が配列になります。

$array[0] //status_code PAID

次に、もう一度分割するか、php 解析関数のいずれかを使用して、答えを探すことができます。

于 2012-07-24T18:37:18.773 に答える