Problém s nasazením addonu MetisFW/PayPal
- Fyasko
- Člen | 106
Ahoj, obracím se na vás s problémem, který zkrátka neumím
vyřešit(Ani po přeložení chybové hlášky :D ).
Potřebuji zprovoznit platby přes PayPal s nějakým feedbackem na mou
stránku. Jde o aktivaci VIP služby. Člověk přejde na platbu a do db se
zapíše random kód. Po autorizaci platby bude přesměrován zpět s tím,
že stránka odešle e-mail s dříve vygenerovaným kódem a instrukcemi. Byla
mi dána rada abych využil addon MetisFW/PayPal s tím že na jednotlivé
eventy je připraven. Dělám vše dle postupu z dokumentace, ale neuspěšně.
K problému,,
HomepagePresenter
<?php
namespace App\Presenters;
use Nette;
use App\Model;
use \MetisFW\PayPal\UI\PaymentControl;
use \MetisFW\PayPal\Payment\SimplePaymentOperation;
use \PayPal\Api\Payment;
class HomepagePresenter extends BasePresenter
{
public function createComponentPayPalPaymentButton(SimplePaymentOperationFactory $factory) {
$operation = $factory->create('Coffee', 5);
$control = new PaymentControl($operation);
//set different template if u want to use own
$control->setTemplateFilePath(__DIR__ . './myPayPalButton.latte');
//called before redirect to paypal after first api call, which create payment
$control->onCheckout[] = function(PaymentControl $control, Payment $created) {
//something
};
//called after successfully completed payment proccess
$control->onSuccess[] = function(PaymentControl $control, Payment $paid) {
//something
};
//called when user cancelled payment process
$control->onCancel[] = function(PaymentControl $control) {
//something
};
return $control;
}
...
?>
config.neon
<?php
extensions:
payPal: MetisFW\PayPal\DI\PayPalExtension
payPal:
clientId: AekM3RF76WJmj8jhL4Yr3axgk7Xin2jkGNkNQUJ1nIZQDy_Vte8B6hFzWP68mSWSAt7FVfaS_IqRIgkw
secret: EM8M1-kyL33cwkhnFpEGlo_RqA5fvkjfmF3hgmKgL0wOT9P6zp80oMxgkFw6lKHqt_n5YvEwZa3ztt3T
currency: CZK
sdkConfig:
mode: sandbox
log.Enabled: true
log.FileName: '%tempDir%/PayPal.log'
log.LogLevel: DEBUG
validation.level: log
cache.enabled: true
# 'http.CURLOPT_CONNECTTIMEOUT' => 30
# 'http.headers.PayPal-Partner-Attribution-Id' => '123123123'/
?>
do bootstrapu jsem přidával
<?php
require __DIR__ . '/PayPal-PHP-SDK/autoload.php';
?>
Budu vděčný za jakoukoliv radu. Předem Všem děkuji :)
- David Matějka
- Moderator | 6445
Ten priklad v doc predpoklada uziti autowired component factories, pokud je nepouzivas, injectni si tu factory normalne (konstruktor, inject anotace..)