お世話になります。
PayPal REST APIを使って、自社サービスの利用料をクレジットカード決済できるシステムを構築したいと考えています。
サーバー側のPHPファイル内で、Create Order(“https://api.paypal.com/v2/checkout/orders”)のエンドポイントに対して以下のようなJSONを投げているのですが、返ってきた決済リンク(‘https://www.paypal.com/checkoutnow?token=*****’のようなリンクが返ってきます)をコピペしてブラウザで開いてみるとPayPalへのログインを求められてしまいます。
PayPalアカウントを所有していないユーザー様がクレジットカードで決済できる決済リンクを作成するにはどこを修正したら良いでしょうか。または、アプローチの方法が全く間違えている場合は正しい方法をご教授いただけると幸いです。
※なお以下のコードの$charge, $user_name, $emailにはそれぞれ利用料金、ユーザー名、メールアドレスが格納されているものとします。
PHP
1//Order生成 2 $url = 'https://api.paypal.com/v2/checkout/orders'; 3 $header = array('Content-Type: application/json', 'Authorization: Bearer '.$access_token); 4 $data = array( 5 'intent'=>'CAPTURE', 6 'purchase_units'=>array( 7 array( 8 'amount'=>array( 9 'currency_code'=>'JPY', 10 'value'=>$charge) 11 ) 12 ), 13 'payer'=>array( 14 'name'=>array( 15 'given_name'=>$user_name 16 ), 17 'email_address'=>$email 18 ), 19 'application_context'=>array( 20 'landing_page'=>'BILLING' 21 ) 22 ); 23 $data_json = json_encode($data); 24 // echo $data_json."<br>"; 25 $ch = curl_init(); 26 curl_setopt($ch, CURLOPT_HTTPHEADER, $header); 27 curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); 28 curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json); 29 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 30 curl_setopt($ch, CURLOPT_URL, $url); 31 $result=curl_exec($ch); 32 curl_close($ch); 33 $result_decode = json_decode($result, true); 34 echo var_dump($result_decode);
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/16 04:35