kohana 3.0 プロジェクトで Authorize.Net を使用しようとしています。モジュールを bootstrap.php ファイルに設定しました。
コードに集中する前に、プロセスをよく理解しておきたい。彼らのサンプルコードでは、それが書かれています。
<?php
require_once 'anet_php_sdk/AuthorizeNet.php'; // Include the SDK you downloaded in Step 2
$api_login_id = 'I_put_my_login_id_here';
$transaction_key = 'and_my_transaction_key_here;
$amount = "5.99";
$fp_timestamp = time();
$fp_sequence = "123" . time(); // Enter an invoice or other unique number.
$fingerprint = AuthorizeNetSIM_Form::getFingerprint($api_login_id,
$transaction_key, $amount, $fp_sequence, $fp_timestamp)
?>
<form method='post' action="https://test.authorize.net/gateway/transact.dll">
<input type='hidden' name="x_login" value="<?php echo $api_login_id?>" />
<input type='hidden' name="x_fp_hash" value="<?php echo $fingerprint?>" />
<input type='hidden' name="x_amount" value="<?php echo $amount?>" />
<input type='hidden' name="x_fp_timestamp" value="<?php echo $fp_timestamp?>" />
<input type='hidden' name="x_fp_sequence" value="<?php echo $fp_sequence?>" />
<input type='hidden' name="x_version" value="3.1">
<input type='hidden' name="x_show_form" value="payment_form">
<input type='hidden' name="x_test_request" value="false" />
<input type='hidden' name="x_method" value="cc">
<input type='submit' value="Click here for the secure payment form">
</form>
それで、ユーザーが私のウェブサイトにアクセスして商品を買おうとしているとします。コントローラーへのプロセスを処理します。php_curl を使用します。
public function action_authorize(){
$url = 'https://test.authorize.net/gateway/transact.dll';
$post_string = '';
$request = curl_init($url);
curl_setopt($request, CURLOPT_HEADER, 0); // set to 0 to eliminate header info from response
curl_setopt($request, CURLOPT_RETURNTRANSFER, 1); // Returns response data instead of TRUE(1)
curl_setopt($request, CURLOPT_POSTFIELDS, $post_string); // use HTTP POST to send form data
curl_setopt($request, CURLOPT_SSL_VERIFYPEER, FALSE); // uncomment this line if you get no gateway response.
$post_response = curl_exec($request); // execute curl post and store results in $post_response
curl_close($request);
$response_array = explode($post_values["x_delim_char"],$post_response);
}
ここで私の問題は、クエリ結果に対するサーバーの応答を *$response_array* で知る方法です。エラーコードを特定する方法は? もう 1 つ、Authorize モジュールを有効にします。コントローラーから *'api_login'* と *'transaction_key'* にアクセスするにはどうすればよいですか? コントローラーでこれを行うと、エラーが発生します*
$authorize = new Authorize;
$authorize->api_login;
- エラーを出します。実際、Kohana3.0 で Authorize.NET モジュールを実装できるようにしたいと考えています。