1

コインペイメント ゲートウェイ API (cmd=create_transfer) を使用しています。アプリから正常にスキャンされた qr コードとアドレスを生成しましたが、支払い後に、success_url とその他の情報をデータベースに送信してリダイレクトしたいと考えています。

<?php
/*
  CoinPayments.net API Example
  Copyright 2016 CoinPayments.net. All rights reserved.
  License: GPLv2 - http://www.gnu.org/licenses/gpl-2.0.txt
 */
require('./coinpayments.inc.php');
$cps = new CoinPaymentsAPI();
$public_key = "xxx";
$private_key = "xxx";
$cps->Setup($private_key, $public_key);

$req = array(
    'amount' => $_POST['amount'],
    'currency1' => "USD",
    'currency2' => "BTC",
    'address' => '', // leave blank send to follow your settings on the Coin Settings page
//      'item_name' => $_POST['item_name']
    print 'ipn_url' => $_POST['ipn_url'],
    print 'txn_id' => $_POST['txn_id'],
    print 'status' => intval($_POST['status']),
    print 'status_text' => $_POST['status_text']
);
// See https://www.coinpayments.net/apidoc-create-transaction for all of the available fields

$result = $cps->CreateTransaction($req);
if ($result['error'] == 'ok') {
    $le = php_sapi_name() == 'cli' ? "\n" : '<br />';
    ?>
    <div class="col-4">
        <h2><?php print 'Buyer should send ' . sprintf('%.08f', $result['result']['amount']) . ' BTC' . $le; ?></h2>


        <img width="220" height="220" alt="" src="https://blockchain.info/qr?data=bitcoin:<?php echo $result['result']['address']; ?>?amount=<?php echo $result['result']['amount']; ?>%26label=example%2520label">

        <?php
    } else {
        print 'Error: ' . $result['error'] . "\n";
    }
    ?>

ここに画像の説明を入力

4

2 に答える 2

-1

ここを参照してください:- https://www.coinpayments.net/apidoc-get-tx-info . この API を利用するには、coinpayments.inc.php にこの関数を追加するだけです。

}

public function GetTransactionInformation($txId) {      
$req = array(
    'txid' => $txId,

);
return $this->api_call('get_tx_info', $req);
}

tx id $txid = strip_tags($_POST['txn_id']) を印刷する前に、これをスクリプトに追加してください。

 $cps = new CoinPaymentsAPI();
 $cps->Setup('Your_Private_Key', 'Your_Public_Key');
 $result = $cps->GetTransactionInformation('$txid');
  //get the array info of transaction
  if ($result['error'] == 'ok') {
  print_r ($result);
 } else {
print 'Error: '.$result['error']."\n";
 }

配列で結果を取得する必要があります。Json 出力を取得するには、単に置き換えます。

 print_r ($result);

 print $result['result']['status']

status を他の配列に置き換え、それに応じてページを変更します。ステータスには次の数値があります:- <0 エラー、0-99 保留中、100 完了/支払い済み

于 2018-06-24T12:21:30.070 に答える