GithubHelp home page GithubHelp logo

Comments (22)

kou avatar kou commented on July 29, 2024 1

おつかれさまでした!参加した感想をブログとかにまとめてくれるとOSS Gateワークショップの普及につながってうれしいです!
(次回からはフィードバックしたメンターの人にその場でcloseしてもらうようにしよう。おつかれ!とか言いながら。)

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024

*作業: インストール
https://github.com/payjp/payjp-ruby

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024

*作業:インストール
ドキュメント
https://pay.jp/docs/api/

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024

*作業:インストール
決済ページ作成

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024

決済ページヘのリンク
<h2><%= link_to pay_path(@item.id) do "通常決済(クレジットカード)" end %></h2>

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024

認証OK
https://pay.jp/docs/api/?ruby#認証

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024

サンプルコードのAPIキーは使えないので自分のAPIキーを利用して顧客の登録OK

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024

課金エラー
Cannot charge a customer that has no active card: cus_a67723dc15826b6a9be34bf6f0a0

顧客のカード登録を先に行えば通りそう

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024

カード登録と課金OK

  #カード登録
  customer = Payjp::Customer.retrieve('cus_a67723dc15826b6a9be34bf6f0a0')
  customer.cards.create(
    number: "4242424242424242",
    exp_month: "12",
    exp_year: "2017",
    cvc: "123",
    name: "HOGE HOGE"
  )

  #課金
  Payjp::Charge.create(
    :amount => 3500,
    :customer => 'cus_a67723dc15826b6a9be34bf6f0a0',
    :currency => 'jpy',
  )

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024

支払情報を取得
@res = Payjp::Charge.retrieve('ch_9ac9e317a18a3afa8f3534853716b')

結果
{ "id": "ch_9ac9e317a18a3afa8f3534853716b", "amount": 3500, "amount_refunded": 0, "captured": true, "captured_at": 1458960766, "card": {"id":"car_7949ddf458fa8886aaa1d549fbf6","address_city":null,"address_line1":null,"address_line2":null,"address_state":null,"address_zip":null,"address_zip_check":"unchecked","brand":"Visa","country":null,"created":1458960766,"customer":"cus_a67723dc15826b6a9be34bf6f0a0","cvc_check":"passed","exp_month":12,"exp_year":2017,"fingerprint":"e1d8225886e3a7211127df751c86787f","last4":"4242","livemode":false,"metadata":{},"name":"HOGE HOGE","object":"card"}, "created": 1458960766, "currency": "jpy", "customer": "cus_a67723dc15826b6a9be34bf6f0a0", "description": null, "expired_at": null, "failure_code": null, "failure_message": null, "livemode": false, "metadata": {}, "object": "charge", "paid": true, "refund_reason": null, "refunded": false, "subscription": null }

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024

存在しない支払情報を取得
@res = Payjp::Charge.retrieve('ch_9ac9e317a18a3afa8f3534853716a')
There is no charge with ID: ch_9ac9e317a18a3afa8f3534853716a

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024

エラーレスポンスが取得できません
異常値をAPIを呼びエラーを発生させた際エラーレスポンスが来ず、例外(Payjp::InvalidRequestError)が発生します
期待する結果はエラーが発生した際はエラーレスポンスが取得できることです

試した処理
支払情報を取得

正常(支払情報がある)
@res = Payjp::Charge.retrieve('ch_9ac9e317a18a3afa8f3534853716b')
結果
{ "id": "ch_9ac9e317a18a3afa8f3534853716b", "amount": 3500, "amount_refunded": 0, "captured": true, "captured_at": 1458960766, "card": {"id":"car_7949ddf458fa8886aaa1d549fbf6","address_city":null,"address_line1":null,"address_line2":null,"address_state":null,"address_zip":null,"address_zip_check":"unchecked","brand":"Visa","country":null,"created":1458960766,"customer":"cus_a67723dc15826b6a9be34bf6f0a0","cvc_check":"passed","exp_month":12,"exp_year":2017,"fingerprint":"e1d8225886e3a7211127df751c86787f","last4":"4242","livemode":false,"metadata":{},"name":"HOGE HOGE","object":"card"}, "created": 1458960766, "currency": "jpy", "customer": "cus_a67723dc15826b6a9be34bf6f0a0", "description": null, "expired_at": null, "failure_code": null, "failure_message": null, "livemode": false, "metadata": {}, "object": "charge", "paid": true, "refund_reason": null, "refunded": false, "subscription": null }

異常(支払情報がない)
@res = Payjp::Charge.retrieve('ch_9ac9e317a18a3afa8f3534853716a')
結果(例外)
Payjp::InvalidRequestError: There is no charge with ID: ch_9ac9e317a18a3afa8f3534853716a
from /usr/local/rvm/gems/ruby-2.2.1/gems/payjp-0.0.3/lib/payjp.rb:224:in `handle_api_error'

期待する結果(エラーレスポンスで戻ってくる)
{
"error": {
"message": "There is no charge with ID: ch_9ac9e317a18a3afa8f3534853716a",
"param": "id",
"status": 404,
"type": "client_error"
}
}

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024

やってないこと

他の処理でのエラーレスポンスの発生検証

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024
  • 作業:issueを出した
  • 思っていること:issue読まれる??

payjp/payjp-ruby#5

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024
  • payjp-rubyをフォークしてローカルでソースをチェック開始
  • バグ見つかるかな?
    てかそもそもgemってどうやってデバッグする??

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024
  • アプリで読み込んでいるgemをローカルに変更

gem 'payjp', path: '../payjp-ruby'

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024
  • ローカルのgemはspringが読み飛ばすのでspringを停止
chmod +x bin/spring
bin/spring status
bin/spring stop

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024
  • issueがクローズドになった!
  • とても早くてビックリ

payjp/payjp-ruby#5
正しい挙動でドキュメントが間違っていたとのこと。
payjp-rubyのデバッグ不要

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024
  • エラーハンドリングを試す
  • 今度はうまくいくはず

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024
  • エラーハンドリングOK(支払い情報取得)

@res = e.json_body

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024
  • 返金APIの正常・エラー動作検証をします

from workshop.

yuki0627 avatar yuki0627 commented on July 29, 2024
  • 返金APIの検証完了
  • 他のAPIも多分OKかと

from workshop.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.