最近のアクセス:
PayPal のワンタイム決済

手順は次のとおりです:
  1. PayPal で決済を作成する
  2. PayPal の Web サイトでユーザーを認証する
  3. 決済を実行する
まず、PayPal で決済を作成します。
CreatePayment SDT を使用して決済のオプションを設定します: 金額、戻される URL (成功と失敗) などを設定します。
CreatePaymentAPI プロシージャーを使用して、事前に入力した SDT を使用して API 呼び出しを作成し、PayPal で決済を作成します。成功した場合、決済に関する情報が戻されます (CreatePaymentResponse SDT にロードして処理する必要があります)。
リダイレクトリンクを取得し、決済を行うユーザーをリダイレクトする必要があります。決済を行うユーザーは、PayPal の Web サイトで PayPal アカウントを使用して自身を認証し、決済内容を確認します。
&transaction.amount.currency = "USD"
&transaction.amount.total = "150"

&CreatePayment.intent = "sale"
&CreatePayment.payer.payment_method = "Paypal"
&CreatePayment.redirect_urls.cancel_url = "http://apps5.genexus.com/Idb8236469be2101e927a28340ad5eaaad/executeagreement.aspx"
&CreatePayment.redirect_urls.return_url= "http://apps5.genexus.com/Idb8236469be2101e927a28340ad5eaaad/executepayment.aspx"
&CreatePayment.note_to_payer = "NOTE"
&CreatePayment.transactions.Add(&transaction)

CreatePaymentAPI(&CreatePayment.ToJson(),&APIResponse,&ErrorCode)

if &ErrorCode = 0
    &CreatePaymentResponse.FromJson(&APIResponse)
    for &i = 1 to &CreatePaymentResponse.links.Count
        if &CreatePaymentResponse.links.Item(&i).method.ToLower() = "redirect"
            &redirectLink = &CreatePaymentResponse.links.Item(&i).href
        endif
    endfor
endif
ユーザーが決済を確認すると、payerId と paymentId をパラメーターとして成功用の URL が呼び出されます。これらは後で決済の確認に使用されます。start イベントでそれらをパースし、決済を実行してユーザーにメッセージを表示します。
Success WebPanel は次のようになります:
Event Start
    Do 'ParseString'    
    ExecutePaymentAPI(&paymentId,&payerId,&APIResponse,&ErrorCode)
    if &ErrorCode = 0
        Msg("決済成功")
    endif
EndEvent

Sub 'ParseString'
    &Regex = "="
    &Parms = &httpRequest.QueryString
    &Matches = &Parms.SplitRegEx(&Regex)
    &paymentId = &Matches.Item(2).Replace("&token","")
    &token = &Matches.Item(3).Replace("&PayerID","")
    &payerId = &Matches.Item(4)
EndSub



サブページ
Created: 18/10/29 01:07 by Admin Last update: 21/10/28 23:30 by Admin
カテゴリ
Powered by GXwiki 3.0