Tag: PayPal



2011年 12月 12

PerlでPayPalのExpressCheckoutを実装するのにBusiness::PayPal::APIを使っているのだけれど、日本語(2byte文字)がうまく送信できない。

UTF-8で送ろうが、フラグ付きにしようが、だ。

散々悩んだ挙句、原因はSOAP::Liteが勝手にbase64エンコードするからだと判明。

Business::PayPal::APIは内部でSOAP::Liteを使用していて、Asciiだとそのままなのだけれど、それ以外はbase64にエンコードする仕様の様子。

前々から、例えば、OrderDescription に日本語を使うと上手くいかないと思っていたのだけれど、、、。
仕方がないから Business::PayPal::API::ExpressCheckoutをカスタマイズする。

/usr/lib/perl5/site_perl/5.8.8/Business/PayPal/API/ExpressCheckout.pm

    ## add all the other fields
    for my $field ( keys %types ) {
  next unless defined $args{$field};

        if( $field eq 'MaxAmount' ) {
            push @secrd, SOAP::Data->name( $field => $args{$field} )->type( $types{$field} )
              ->attr( {currencyID => $currencyID, xmlns => $self->C_xmlns_ebay} );
        }
        ## 追記ココから
        elsif($field eq 'Address'){
            my @addr;
            my $hash = $args{$field};
            for my $f ( keys %$hash) {
               push @addr,  SOAP::Data->name( $f )->type(string => $args{$field}{$f} );
            }
            my $obj = SOAP::Data->name( $field => \SOAP::Data->value( @addr ));
            push @secrd,$obj;
        }
        ## 追記ココまで
        else {
            push @secrd, SOAP::Data->name( $field => $args{$field} )->type( $types{$field} );
        }
    }

SOAPなんて使ってたらダメだね…


Filed under: PayPal,perl

Trackback Uri






2011年 6月 17

随分前に、PayPalのsandboxで見た事があったんだけど、いつの間にかリリースしていた決済画面。

ウェブペイメントスタンダードの欠点だったPayPal会員以外がクレジットカード決済するのに分かりにくい・・・っていうのが改善された感じ。

ウェブサイト自体も日本語化がかなり進んでいるみたいだし、日本でも本格的に活動していきそうな感じがする。

実際かなり便利だし、導入の敷居が低いことを考えると良いことだと思います。

ますますEC市場が拡大されるかな?

PayPalウェブペイメントスタンダードの新しい画面

PayPalの新しいウェブペイメントスタンダード画面

リニューアルされたPayPalウェブペイメントスタンダード最初の画面

PayPalの新しいウェブペイメントスタンダードはクレジットカード決済でも迷わずすすめる

PayPalの新しいウェブペイメントスタンダードはクレジットカード決済でも迷わずすすめそう

 

Sign up for PayPal and start accepting credit card payments instantly.
PayPal アカウントを作成して、あなたのサイトにカード決済を導入!


Filed under: PayPal

Trackback Uri






2011年 6月 1

EC-CUBE 2.4の時はかなり手を加えないと使えない感があったのだけれど、久しぶりに触ってみた感じではなかなかの好感触。

簡単に気づいた点は

ポイント周りの不具合

ポイントを付加するタイミングが「対応状況」を「発送済み」にした時になった。

クレジットカードでの決済未完了時(失敗など)

「決済処理中」という対応状況が増えて、入金待ちと区別が付きやすくなった。

ウェブペイメントプラスでの確認だったけど、悪くないかも。決済フローも簡潔で、これなら3000円出しても価値があると思う。

決済フローのスクリーンキャプチャ

決済フロー
注文確認画面。「次へ」で決済ページへ移行。

決済フロー2
PayPal ウェブペイメントプラスの決済ページ。iframeで表示されるので違和感もない。入力画面も簡潔でいい感じ。

決済フロー3
クレジットカード情報を送信した時もAjaxで処理されて、ページ移行がない。

決済フロー4
決済処理完了。ここまでスムーズに出来る。

PayPalユーザーなら「PayPalで支払い」を選べばPayPalサイトへ移行して決済手続きをしてくれる。このフローが利用出来るだけでも価値がありそう。

EC-CUBEでPayPalのsandbox(テスト環境)してみる

PayPalウェブペイメントプラスの概要

テストだけなら https://developer.paypal.com/ でアカウントを作成すれば出来るはず。

「ウェブ ペイメント プラス インテグレーションガイド」 に詳しく書かれているけど、テストアカウントは売り手と買い手、それぞれ作成する事。

また、受取人の「Payment Review」という項目は「Disabled」にしておく事。Enabled(レビューが必要)になっている場合は注意。

PayPalテストアカウント

EC-CUBE側はPayPal決済モジュールの設定画面で「決済サイトURL」を
https://securepayments.sandbox.paypal.com/acquiringweb
にする必要がある。
メールアドレスは、テストアカウントの売り手のものを使う。

 

Sign up for PayPal and start accepting credit card payments instantly.
PayPal アカウントを作成して、あなたのサイトにカード決済を導入!


Filed under: EC-CUBE,PayPal

Trackback Uri






2010年 9月 29

EC-CUBE PayPal決済モジュールの注意点の続き

PayPal決済モジュールのチェック機構を強化

とりあえずのコードを書いてみた。
なれないPHPだし、PostgreSQLだしで、いいのか悪いのか判断できません。
基本的にEC-CUBE本体から拾ったコードを再利用しただけです。

コードはEC-CUBE 開発コミュニティサイト – フォーラムに投稿してみました。

ソースはこちらから
PayPal決済モジュールのチェック機構を強化する

動作するのか

一応PayPalのテスト環境でテスト済みですが、ご利用は自己責任で。
ツッコミ大歓迎。

 

Sign up for PayPal and start accepting credit card payments instantly.
PayPal アカウントを作成して、あなたのサイトにカード決済を導入!


Filed under: EC-CUBE,PayPal

Trackback Uri






2010年 9月 28

PayPal決済モジュールはチェックが甘い?

PayPal決済モジュールは支払先のメールアドレス(receiver_email)の正当性しかチェックしていない。

支払われた金額のチェックを行っていないため、(ポストされる内容を変更など)不正な金額を支払ったとしても入金済みにしてしまう。
PayPalから届く入金確認メールの金額と違っていないか確認する必要がある。

また、支払い済みのトランザクションIDの記録やチェックも行っていないため、不正利用される可能性もあると思われる。

(たしか)PayPalからダウンロードしたPerlのサンプルスクリプトにもレスポンスが VERIFIED の場合以下のチェックを行えとある。

# check the $payment_status=Completed
# check that $txn_id has not been previously processed
# check that $receiver_email is your Primary PayPal email
# check that $payment_amount/$payment_currency are correct

ちょっとチェック不足な気がするが・・・。

つづきをどぞ
EC-CUBE PayPal決済モジュールのチェック機構を強化する


Filed under: EC-CUBE,PayPal

Trackback Uri