私は現在、ウェブサイトのオフサイト決済ソリューションを構築しています。CI-Merchant を使用しています (Omnipay を使用しようとしましたが、Composer を使用してもうまくいきません)。
私は現在これを行っています(コントローラーのメソッドで)。また、顧客のカートを PayPal に送信できるように、微調整されたバージョンの CI-Merchant を使用していることにも注意してください。私はちょうどこれらの変更を行いました:
私のコントローラーファイルで:
//The library and the settings are initialized before
$this->merchant->initialize($this->APISettings);
$order = array(
array(
'name' => 'Voyage 1',
'desc' => 'Relais du Plessis',
'amt' => 50.00,
'qty' => 1
),
array(
'name' => 'Voyage 2',
'desc' => 'Domaine St-Hilaire',
'amt' => 50.00,
'qty' => 1
)
);
$this->session->set_userdata('order',$order);
$params = array(
'amount' => 100.00,
'currency' => 'EUR',
'items' => $order,
'return_url' => base_url().'api/reservation/validation_commande',
'cancel_url' => base_url().'api/reservation/annulation_commande'
);
$this->merchant->authorize($params);
後で、コントローラーの別のメソッド (支払いが完了したときに呼び出されるもの、return_url) で:
$this->merchant->initialize($this->APISettings);
$params = array(
'amount' => 100.00,
'currency' => 'EUR',
'items' => $this->session->userdata('order'),
'return_url' => base_url().'api/reservation/validation_commande',
'cancel_url' => base_url().'api/reservation/annulation_commande'
);
$response = $this->merchant->authorize_return($params);
var_dump($response);
$gateway_reference = $response->reference();
私が欲しいのは、カードのフットプリントを保持することです。そのため、参照を取得しています。
質問は、支払いを後で受け取りたい場合、どうすればよいですか? 呼び出すメソッドは $this->merchant->capture(); であることはわかっています。しかし、パラメータに何を渡すかわかりません。
前もって感謝します、
乾杯