12/08/2018, 14:34

Sử dụng Stripe trong thanh toán trực tuyến(Tiếp)

Token Tạo CardToken trong Stripe require "stripe" Stripe . api_key = "sk_test_BQokikJOvBiI2HlWgH4olfQ2" Stripe : : Token . create ( :card = > { :number = > "4242424242424242" , :exp_month = > 1 , :exp_year = > 2018 , ...

  1. Token
  • Tạo CardToken trong Stripe
require "stripe"
Stripe.api_key = "sk_test_BQokikJOvBiI2HlWgH4olfQ2"

Stripe::Token.create(
  :card => {
    :number => "4242424242424242",
    :exp_month => 1,
    :exp_year => 2018,
    :cvc => "314"
  },
)
  • Response
Property Child Property Model Value of explain
id - string start to "tok_" This is unique of string
object - object object value is "charge"
livemode - boolean true is "production environment"
false is "test environment"
created - integer This is price
This is charge Unit of One yen(¥)
card - hash(bring dictionary) billing of Credi Card information
connect to customer value is hash
object string Value is "card"
exp_year integer
exp_month integer
fingerprint string This is key of unique by CreditCard.
name string This is Name of CreditCard
country string country code
Currently , This is "JP"
type string This is Card Brand (Visa, MasterCard, American Express,
Discover, JCB, Diners Club or "unknown")
card cvc_check string check of security code "pass" or "fail" or "unchecked"
card last4 string last 4 number of CreditCard
used - string This is unique of customer object.
If you manage user,
when you will implement add e-mail and
user id for tracking , This is so good
  • Tạo Bank account token
require "stripe"
Stripe.api_key = "sk_test"

Stripe::Token.create(
  :bank_account => {
    :country => "US",
    :currency => "usd",
    :account_holder_name => "Addison Moore",
    :account_holder_type => "individual",
    :routing_number => "110000000",
    :account_number => "000123456789",
  },
)
  • Response
#<Stripe::Token id=btok_9wI1OTCCun9BFn 0x00000a> JSON: {
  "id": "btok_test",
  "object": "token",
  "bank_account": {
    "id": "ba_19cPRg2eZvKYlo2COzCwXELJ",
    "object": "bank_account",
    "account_holder_name": "Jane Austen",
    "account_holder_type": "individual",
    "bank_name": "STRIPE TEST BANK",
    "country": "US",
    "currency": "usd",
    "fingerprint": "1JWtPxqbdX5Gamtc",
    "last4": "6789",
    "routing_number": "110000000",
    "status": "new"
  },
  "client_ip": null,
  "created": 1484530684,
  "livemode": false,
  "type": "bank_account",
  "used": false
}
  • Tham số truyền vào
    • bank_account: Các tài khoản ngân hàng Token này sẽ đại diện.
      • account_number: Số tài khoản cho các tài khoản ngân hàng ở dạng chuỗi. Phải là một tài khoản kiểm tra.
      • country: Quốc gia của tài khoản
      • currency: Loại tiền tệ trong ngân hàng
      • routing_number: Số định tuyến, loại mã, hoặc số tổ chức quốc gia thích hợp khác cho tài khoản ngân hàng.
      • account_holder_name: Tên của người hoặc doanh nghiệp sở hữu các tài khoản ngân hàng. lĩnh vực này là cần thiết khi gắn các tài khoản ngân hàng cho một đối tượng khách hàng.
      • account_holder_type: Các loại thực thể chứa tài khoản. Đây có thể là "cá nhân" hay "công ty".
      • customer: khách hàng (thuộc sở hữu của tài khoản của ứng dụng) để tạo ra một mã thông báo
  • Lấy lại Token
require "stripe"
Stripe.api_key = "sk_test"
Stripe::Token.retrieve("token_test")
  1. Số dư tài khoản
  • Đây là phương thức giúp cho bạn đối chiếu kiểm tra số dư hiện tại của tài khoản
  • Bạn cũng có thể lấy một danh sách về lịch sử sự giao dịch, trong đó có chứa một danh sách các giao dịch góp phần vào sự đối chiếu(ví dụ, phí, chuyển nhượng...).
  • Số tiền có sẵn và đang chờ giải quyết, được chia nhỏ hơn nữa bằng các loại mã thanh toán.
require "stripe"
Stripe.api_key = "sk_test"
Stripe.api_version = "2017-01-01"
  • Response
#<Stripe::Balance 0x00000a> JSON: {
 "object": "balance",
 "available": [
   {
     "currency": "jpy",
     "amount": -88,
     "source_types": {
       "card": -88
     }
   },
   {
     "currency": "jpy",
     "amount": -40320,
     "source_types": {
       "card": -40320
     }
   },
   {
     "currency": "usd",
     "amount": 16291470765,
     "source_types": {
       "card": 16184999687,
       "bank_account": 104926888,
       "bitcoin_receiver": 1544190
     }
   }
 ],
 "livemode": false,
 "pending": [
   {
     "currency": "aud",
     "amount": 0,
     "source_types": {
       "card": 0
     }
   },
   {
     "currency": "jpy",
     "amount": 0,
     "source_types": {
       "card": 0
     }
   },
   {
     "currency": "usd",
     "amount": 197451731,
     "source_types": {
       "card": 197451731,
       "bank_account": 0,
       "bitcoin_receiver": 0
     }
   }
 ]
}
  • Lấy lại Balance
require "stripe"
Stripe.api_key = "sk_test"

Stripe::Balance.retrieve()
Property Child Property Model Value of explain
id String
object String Giá trị của phiên giao dich
amount Integer Tổng số tiền giao dịch
available_on TimeStamp
created Date
currency currency Tiền tệ
fee Integer Lệ phí trả cho giao dịch này
fee_details List phân tích chi tiết phí, lệ phí trả cho giao dịch này
net integer Giá trị của giao dịch
source Các đối tượng Stripe liên quan
sourced_transfers List
0