페이팔 익스프레스 결제를 paypal-express 보석을 사용하여 구현하려고합니다. 그러나 혼란 스럽습니다. 여기 Paypal-Express gem Rails 통합
내가 적절한 요청을 할 수있는 방법 트랜잭션 컨트롤러의 작성 방법 elsif params[:purchase][:payment_method] == "Paypal"
#paypal payment
request = Paypal::Express::Request.new(
:username => "xxxxxxxxxxxxxxxxx",
:password => "xxxxxxxxxxxxxxxx",
:signature => "xxxxxxxxxxxxxxxx"
)
payment_request = Paypal::Payment::Request.new(
:currency_code => "#{@current_user.currency}", # if nil, PayPal use USD as default
:description => "Purchase of SMS", # item description
:quantity => 1, # item quantity
:amount => "#{@total}", # item value
)
response = request.setup(
payment_request,
success_url,
cancel_url
)
transaction.tracking_id = response.token
transaction.save
response.redirect_uri
그리고 성공 방법
def success
token = params[:token]
payer_id = params[:payer_id]
request = Paypal::Express::Request.new(
:username => "xxxxxxxxxxxxxxx",
:password => "xxxxxxxxxxxxxxx",
:signature => "xxxxxxxxxxxxxxx"
)
response = request.details(token)
transaction = Transaction.find_by_tracking_id(token)
transaction.merchant_reference = payer_id
transaction.status = "Completed"
transaction.save
user = User.find(transaction.user_id)
user.balance = (user.balance+response.amount.to_i)
user.save()
response = request.checkout!(
token,
payer_id,
payment_request
)
flash[:notice] = 'Payment Transaction Completed'
user_home_path(@current_user)
end
및 취소 방법
def cancel
flash[:warn] = 'Payment Request Canceled'
user_home_path(@current_user)
end
코드입니다 create 메소드에서 토큰을 응답으로 가져 와서 저장하면 s에서 사용할 수 있습니다. 특정 트랜잭션을 검색하는 uccess 메소드
또한 성공 방법에서 적절한 DoExpressCheckoutPayment
을 어떻게 실행할 수 있습니까?
미리 감사드립니다.
그 라인은 단지 도박이었습니다. 단지 혼란스런 상태로 코드를 복사했습니다. – acacia
@acacia이 보석을 작동시킬 수 있었습니까? – pwz2000
@ pwz2000, 오래전에 일 했어. 오래 전에 NVP classic API를 사용 했어. – acacia