2015-01-27 2 views
0

Symfony를 사용 중이며 PayumBundle을 사용하여 PayPal에 지불 세부 정보를 보내려고하면 PayumBundle이 구성되고 paypal로 리디렉션 될 때까지 작동하게됩니다. 그러나 지불 세부 사항은 전송되지 않습니다. 나는 온라인으로 수색을했고, this 질문을 봤다. 그리고 이것은 내가보고있는 정확한 빈 정보 화면이다.Symfony를 사용하여 PayPal로 지불 할 수 없습니다

답변이 가리키는 설명서를 보면 다음 코드 조각이 떠오르지 만 다음 경로를 호출하려고하면 prepare 동작을 호출합니다. 나는

Error: Cannot use object of type ClickTeck\featuresBundle\Entity\Orders as array

public function prepareAction(Request $request) 
{ 
    $paymentName = 'paypal'; 

    $storage = $this->getPayum()->getStorage('ClickTeck\featuresBundle\Entity\Orders'); 

    /** @var \ClickTeck\featuresBundle\Entity\Orders $paymentDetails */ 
    $paymentDetails = $storage->create(); 
    $paymentDetails['PAYMENTREQUEST_0_CURRENCYCODE'] = 'USD'; 
    $paymentDetails['PAYMENTREQUEST_0_AMT'] = 1500; 
    $storage->update($paymentDetails); 

    $notifyToken = $this->getTokenFactory()->createNotifyToken($paymentName, $paymentDetails); 
    $captureToken = $this->getTokenFactory()->createCaptureToken(
     $paymentName, 
     $paymentDetails, 
     'payment_done' 
    ); 

    $paymentDetails['PAYMENTREQUEST_0_NOTIFYURL'] = $notifyToken->getTargetUrl(); 
    $paymentDetails['INVNUM'] = $paymentDetails->getId(); 
    $storage->update($paymentDetails); 
    return $this->redirect($captureToken->getTargetUrl()); 

} 
내가 다음하지만 페이팔 끝에서 다른 오류로 연결하여 시도 오류로 실행

이 내 Order 법인이

같은 모습입니다
$paymentDetails->PAYMENTREQUEST_0_CURRENCYCODE = 'USD'; 
$paymentDetails->PAYMENTREQUEST_0_AMT = 1500; 

This transaction cannot be processed. The amount to be charged is zero 

<?php 

namespace ClickTeck\featuresBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 
use Payum\Core\Model\Order as BaseOrder; 


/** 
* Orders 
*/ 
class Orders extends BaseOrder 
{ 
    /** 
    * @var integer 
    */ 
    protected $id; 


    /** 
    * Get id 
    * 
    * @return integer 
    */ 
    public function getId() 
    { 
     return $this->id; 
    } 
} 

누군가 나를 찾아 도와 줄 수 있습니까? 이게 무슨 일 이니? 그것 2 일 PayumBundle 일을 만들려고 노력했습니다.

정말 도움이 될 것입니다. PayPal에 지불 세부 사항을 보내려면 어떻게해야합니까?

{# buynow.html.twig #} 
<script 
data-tax="0" 
data-shipping="0" 
data-amount="{{ total }}" 
data-quantity="1" 
data-name="Player Registration {{ playDate ~ ' ' ~ player.nameLastPlayer ~ ', ' ~ player.nameFirstPlayer }} {{ player.initialPlayer }}" 
data-button="buynow" 
data-custom="My custom information" 
src="{{ asset('bundles/ceradteam/js/paypal-button.min.js') }}?merchant=MYMERCHANTID" 
></script> 

컨트롤러는 총량 통과 : 요청 같이

+0

번들에 대한 도움을받지 못하면 번들없이 결제를 게시하는 방법을 보여주는 몇 가지 스 니펫을 게시 할 수 있습니다. 무슨 일이 일어나는지 보도록 도와 줄 수 있습니다. 바로 알려주세요. – Cerad

+0

그것은 당신에게 아주 친절합니다. 제발 공유 할 수 – Baig

+0

마침내 그것을 얻을 관리. http://stackoverflow.com/questions/28148887/setting-up-payum-bundle-with-symfony2-giving-error/28188994#28188994 – Baig

답변

0

약간의 이론 :

Payum을 사용하는 여러 가지 방법에 혼란 스러웠습니다. 첫 번째는 완전히 사용자 정의 된 것입니다 (다른 단어 지불 전용 형식). 이 경우 \ ArrayAccess 인터페이스를 구현하는 모든 것을 사용할 수 있습니다. 필드 이름과 그 값은 페이팔 문서와 같습니다.

다른 방법은 통합을 추가하는 첫 번째 레이어보다 얇은 레이어입니다. 여기서 Order 모델을 사용하고 사용 가능한 setter를 사용하여 채워야합니다. setDetails 메소드를 사용하여 특정 필드를 추가 할 수 있습니다.

세 번째 방법이 있습니다. 자신의 모델 (Order \ Invoice \ Payment 이름)을 사용하고 Payum 내부에 통합을 제공하십시오.

이제 답 :

방법이 \ClickTeck\featuresBundle\Entity\Orders 모델의 모습입니까? OrderInterface를 구현하거나 Payum에서 ArrayObject를 확장합니까? 나는 첫번째 것을 추측한다. 완전히 사용자 정의 솔루션을 사용하려면 ArrayObject를 확장하여 배열로 사용하십시오.통합 변형이 필요한 경우 (앞으로 다른 결제를 수행 할 예정) 주문

+0

많은 의견을 보내 주셔서 감사합니다. 나는 정직하게 여기 갈 예정이다, 나는 결코 Payum을 사용하지 않았다. 이것은 나의 처음이다. 그래서 나는 당신이 말한 것을 payum에 대한 나의 제한된 지식 때문에 말하지 않는다. 나는 시간을내어 설명해 주셔서 감사하며 나에게. 이것은'prepareAction' 전에했던 일입니다. http://payum.org/doc/0.13/PayumBundle/get_it_started하지만 페이팔에 공백 정보를 보내서 제 질문에서 볼 수있는 코드를 변경했습니다. – Baig

+0

내 질문을 업데이트했습니다. 'Order' 엔티티를 추가하여 어떻게 보이는지 볼 수 있습니다. 맞춤 형식을 사용하고 싶지 않습니다. paypal thats all에 정보를 보내고 데이터베이스에 저장하는 간단한 형식. 이 어딘가에서 실제로 작동하는 예가 있습니까? – Baig

+0

의견을 보내 주셔서 감사합니다. 드디어 결과를 얻을 수있었습니다. 의견을 보내 주시면 감사하겠습니다. http://stackoverflow.com/questions/28148887/setting-up-payum-bundle-with-symfony2-giving-error/28188994#28188994 – Baig

0

여기 나뭇 템플릿에 구매하기 버튼을 구축의 간단한 예이다. 판매자 ID를 설정해야합니다.

paypal-button.min.js는 페이팔 개발 사이트에서 생성 한 자바 스크립트 파일입니다. 내 것을 만든 이래로 잠시 있었지만 곧장 앞으로 나아갔습니다. 그리고 그것은 당신이 간단한 지불을 위해 필요한 것입니다.

paypal로 할 수있는 많은 고급 기능이 있지만 올바른 방향으로 사용자를 안내 할 수 있습니다.

+0

감사. 나는 그것을 파고들 것이다. – Baig

관련 문제