カテゴリー : 2011年 11月

[Rails] PayPal API を使うための「Active Merchant」

Ruby on Railsにて、PayPal API を使うなら「Active Merchant」が便利です。

Active Merchantを使うときに、参考になりそうなドキュメント類をまとめました。(随時更新予定)

・公式:Active Merchant

・GitHub:Shopify/active_merchant – GitHub

サンプルコード

#146 PayPal Express Checkout – RailsCasts

Twiwt:Blog / jugyo : Rails3 + Mongoid + ActiveMerchant で Paypal Express Checkout

Paypal express transactions with ruby on rails | Web Tempest

PayPal Recurring Billing with ActiveMerchant in Ruby on Rails @ Raymond Law

その他、参考情報

PayPal の SetExpressCheckout API には、「LandingPage」というオプションがあります。これは、ユーザーが PayPal に移動したとき最初に表示するページを指定するものです。指定できるのは「Login」と「Billing」の2種類です。

Login: PayPal アカウントログインページ
Billing: PayPal アカウントを持たないユーザー向けクレジットカード支払いページ

・引用元:PayPal をもっとわかりやすくする方法 | 開発者ブログ | CMONOS

以上です。

[API] ActiveMerchant の PaypalExpressCheckout での決済後のtokenパラメータの一覧

Ruby on Railsで、PayPal API を扱える ActiveMerchant の PaypalExpressCheckout での決済後のtokenパラメータの一覧をメモ。

#<ActiveMerchant::Billing::PaypalExpressResponse:0x000000046d3658 @params={
"timestamp"=>"2011-11-27T08:55:13Z",
"ack"=>"Success",
"correlation_id"=>"5df56fe7b2c0f",
"version"=>"62.0",
"build"=>"2271164",
"token"=>"EC-9VP17258D85027039",
"payer"=>"buyer_1319355006_per@gmail.com",
"payer_id"=>"PR6LJ4NXR7NDQ",
"payer_status"=>"verified",
"salutation"=>nil,
"first_name"=>"Test",
"middle_name"=>nil,
"last_name"=>"User",
"suffix"=>nil,
"payer_country"=>"US",
"payer_business"=>nil,
"name"=>"Test User",
"street1"=>"1 Main St",
"street2"=>nil,
"city_name"=>"San Jose",
"state_or_province"=>"CA",
"country"=>"US",
"country_name"=>"United States",
"postal_code"=>"95131",
"address_owner"=>"PayPal",
"address_status"=>"Confirmed",
"order_total"=>"1",
"order_total_currency_id"=>"USD",
"shipping_total"=>"0.00",
"shipping_total_currency_id"=>"USD",
"handling_total"=>"0.00",
"handling_total_currency_id"=>"USD",
"tax_total"=>"0.00",
"tax_total_currency_id"=>"USD",
"phone"=>nil,
"address_id"=>nil,
"external_address_id"=>nil,
"insurance_total"=>"0.00",
"insurance_total_currency_id"=>"USD",
"shipping_discount"=>"0.00",
"shipping_discount_currency_id"=>"USD",
"insurance_option_offered"=>"false",
"seller_details"=>nil,
"payment_request_id"=>nil,
"order_url"=>nil,
"soft_descriptor"=>nil,
"checkout_status"=>"PaymentActionNotInitiated",
"Token"=>"EC-9VP17258D85027039",
 
"PayerInfo"=>{
  "Payer"=>"buyer_1319355006_per@gmail.com",
  "PayerID"=>"PR6LJ4NXR7NDQ",
  "PayerStatus"=>"verified",
  "PayerName"=>{
    "Salutation"=>nil,
    "FirstName"=>"Test",
    "MiddleName"=>nil,
    "LastName"=>"User",
    "Suffix"=>nil
  },
  "PayerCountry"=>"US",
  "PayerBusiness"=>nil,
  "Address"=>{
    "Name"=>"Test User",
    "Street1"=>"1 Main St",
    "Street2"=>nil,
    "CityName"=>"San Jose",
    "StateOrProvince"=>"CA",
    "Country"=>"US",
    "CountryName"=>"United States",
    "PostalCode"=>"95131",
    "AddressOwner"=>"PayPal",
    "AddressStatus"=>"Confirmed"
   }
},
 
"PaymentDetails"=>{
  "OrderTotal"=>"1",
  "ShippingTotal"=>"0.00",
  "HandlingTotal"=>"0.00",
  "TaxTotal"=>"0.00",
  "ShipToAddress"=>{
    "Name"=>"Test User",
    "Street1"=>"1 Main St",
    "Street2"=>nil,
    "CityName"=>"San Jose",
    "StateOrProvince"=>"CA",
    "Country"=>"US",
    "CountryName"=>"United States",
    "Phone"=>nil,
    "PostalCode"=>"95131",
    "AddressID"=>nil,
    "AddressOwner"=>"PayPal",
    "ExternalAddressID"=>nil,
    "AddressStatus"=>"Confirmed"
  },
  "InsuranceTotal"=>"0.00",
  "ShippingDiscount"=>"0.00",
  "InsuranceOptionOffered"=>"false",
  "SellerDetails"=>nil,
  "PaymentRequestID"=>nil,
  "OrderURL"=>nil,
  "SoftDescriptor"=>nil
},
 
"CheckoutStatus"=>"PaymentActionNotInitiated"
},
 
@message="Success",
@success=true,
@test=true,
@authorization=nil,
@fraud_review=false,
@avs_result={
  "code"=>nil,
  "message"=>nil,
  "street_match"=>nil,
  "postal_match"=>nil
},
@cvv_result={
  "code"=>nil,
  "message"=>nil
}>

[jQuery] 外部サイトへのリンクを別ウィンドウで開く方法

jQueryを使って、外部サイトへのリンクを別ウィンドウで開く方法を調べたのでメモ。

■ サンプルコード

$(document).ready( function () {
  $('.popup').click(function(){
    window.open(this.href, "WindowName","width=1000,height=600,resizable=yes,scrollbars=yes");
    return false;
  });
});

【参考】

jQueryで「window.open」タイプのポップアップウィンドウ方法 | E2 DESIGNERS BLOG:HTML,CSS,JavaScript,jQuery,FlashなどWebデザインに関するネタ紹介/株式会社E2 はてなブックマーク - jQueryで「window.open」タイプのポップアップウィンドウ方法 | E2 DESIGNERS BLOG:HTML,CSS,JavaScript,jQuery,FlashなどWebデザインに関するネタ紹介/株式会社E2

jQueryを使って、外部サイトへのリンクだけ別ウィンドウで開く方法|AdDe – 静岡のデザイン制作会社アドテクニカのデザイナーブログ はてなブックマーク - jQueryを使って、外部サイトへのリンクだけ別ウィンドウで開く方法|AdDe - 静岡のデザイン制作会社アドテクニカのデザイナーブログ

「Jenkinsではじめるビルド職人入門」が11月中は無料でダウンロードできる

「Jenkinsではじめるビルド職人入門」が11月中は無料でダウンロードできるみたいです。

・DL:Jenkinsではじめるビルド職人入門 | Gihyo Digital Publishing はてなブックマーク - Jenkinsではじめるビルド職人入門 | Gihyo Digital Publishing

日本初のJenkins解説書『Jenkins実践入門 ~ビルド・テスト・デプロイを自動化する技術』の発売記念として無料キャンペーンをしているらしいので、これを機にJenkinsデビューしたいものですね。

[Heroku] “Heroku Git error, try again shortly.”

Heroku へ git push したら、下記のようなエラーが発生しました。

$ git push heroku master
 
 !  Heroku Git error, try again shortly.
 !  We've been notified, see http://support.heroku.com if the problem persists.
 
fatal: The remote end hung up unexpectedly

Heroku側に問題がある可能性があるので、http://support.heroku.com にアクセスして、障害が発生しているか確認します。

・ここも確認する:Heroku | Status はてなブックマーク - Heroku | Status

僕の場合は数分ぐらい時間をおいて、再度 git push したら正常にプッシュされました。

以上です。