Stripe payment gateway создает регулярный платеж с помощью PayumBundle

я использую PayumBundle интегрировать платежный шлюз Stripe в мое приложение symfony2.
я могу создать успешный прямой платеж, однако я не могу создать повторяющийся. так как документация на комплект очень плохая.

Мой вопрос заключается в том, как осуществить регулярный платеж для клиента, используя PayumBundle или любой другой подобный.

2

Решение

Мне удается сделать небольшую комбинацию между PayumBundle & Stripe-php следующим образом:

/**
* @Extra\Route(
*   "/prepare_checkout",
*   name="mycom_stripe_prepare_checkout"* )
*
* @Extra\Template("MYCOMStripeBundle:PurchaseExamples:prepareCheckout.html.twig")
*/
public function prepareCheckoutAction(Request $request) {
$paymentName = 'subscribe_guardia_via_stripe_checkout';

$storage = $this->getPayum()->getStorage('MYCOM\PaymentBundle\Entity\PaymentDetails');

/** @var $details PaymentDetails */
$details = $storage->create();
$details["amount"] = 85 * 100;
$details["currency"] = 'USD';
$details["description"] = "Bi-Annual Subs.";

if ($request->isMethod('POST') && $request->request->get('stripeToken')) {
// create a new customer and assign a plan for him
\Stripe::setApiKey($this->container->getParameter('stripe.secret_key'));
$customer = \Stripe_Customer::create([
'description' => 'amr samy',
'source' => $request->request->get('stripeToken'),
'plan' => 'C1',
]);

$details["customer"] = $customer->id;
$storage->update($details); // presist the customer and the payment$captureToken = $this->getTokenFactory()->createToken(
$paymentName, $details, 'mycom_subscription_create_stripe_recurring_payment'
);

return $this->redirect($captureToken->getTargetUrl());
}

return array(
'publishable_key' => $this->container->getParameter('stripe.publishable_key'),
'model' => $details,
'paymentName' => $paymentName
);
}

Единственная проблема, с которой я сталкиваюсь, заключается в том, что если использовать createCaptureToken (), он снова отображает форму оплаты Checkout, следовательно, вместо этого я использовал createToken (), однако я столкнулся с другой проблемой, которая заключается в том, что статус транзакции является новым.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]