nesija Posted July 1, 2016 Report Share Posted July 1, 2016 (edited) Lietoju paypal rest api sdk. Neskaidrība ir par to, kurš identifikators jāsaglabā datubāzē, lai pēc veiksmīga maksājuma varētu uzmeklēt Order un atzīmēt to kā PAID. Man šķiet ka jāizmanto payment id (piemēram PAY-4VV03021UC634025WK53EA3I). Tomēr paypal sūta atpakaļ arī kaut kādu token=EC-8U3318706J8963711, nesaprotu kam tas ir vajadzīgs? Datubāzē es glabāju tikai payment_id. Vai es izmantoju pareizo identifikatoru, vai arī būtu jāizmanto cits? // .. (izlaista $payment objekta konfigurācija) $payment->create($paypal); // Nosūtam datus paypalam // Paypal atsūta mums atpakaļ payment ID $payment_id = $payment->getId(); // e.g. PAY-0DM20443V9262974MK53D5DI // Saglabājam savā datubāzē transakciju. Sasaistam payment_id un mūsu order. PaypalTransaction::create([ 'payment_id' => $payment_id, 'order_id' => $order->id ]) // Redirektē klientu uz paypalu return redirect()->to($payment->getApprovalLink()); Kad redirektē atpakaļ: //URL šāds: http://example.com/paypal-success?paymentId=PAY-4VV03021UC634025WK53EA3I&token=EC-8U3318706J8963711&PayerID=78BATUTT6KSYA // Iegūstam GET datus. $payment_id = $request->get('paymentId'); $payer_id = $request->get('PayerId'); // Executojam maksājumu. $paypal->execute($payment_id, $payer_id); // Atrodam orderi pēc paymentId un atzīmējam, ka viņš ir samaksāts $transaction = PaypalTransaction::where(['payment_id' => $payment_id])->firstOrFail(); $transaction->order->update(['paid' => 1]); Edited July 2, 2016 by nesija Quote Link to comment Share on other sites More sharing options...
jurchiks Posted July 1, 2016 Report Share Posted July 1, 2016 Vai tad dokumentācijā tas nav rakstīts? Quote Link to comment Share on other sites More sharing options...
nesija Posted July 2, 2016 Author Report Share Posted July 2, 2016 (edited) Tad nāksies atzīt, ka manas lasītprasmes ir gaužām sliktas. Man par to kauns. Tomēr es uzmanīgi izstudēju paypal piedāvātos koda paraugus: https://github.com/paypal/PayPal-PHP-SDK/blob/master/sample/payments/CreatePaymentUsingPayPal.php https://github.com/paypal/PayPal-PHP-SDK/blob/master/sample/payments/ExecutePayment.php Taču tajos nav ne miņas no tieši tās daļas, kur tiek uzmeklēts Orderis mūsu datubāzē. Tur pat netiek izmantota, piemēram, `getId()` metode. Vai kāds cilvēks ar labāku lasītprasmi kā man varētu norādīt uz vietu dokumentācijā, kur par šo ir minēts? Paldies. Edited July 2, 2016 by nesija Quote Link to comment Share on other sites More sharing options...
jurchiks Posted July 2, 2016 Report Share Posted July 2, 2016 https://github.com/paypal/rest-api-sample-app-php Varbūt šis tev palīdzēs. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.