# alipay_mini **Repository Path**: ixuea/alipay_mini ## Basic Information - **Project Name**: alipay_mini - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-06-13 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![](https://travis-ci.com/renyijiu/alipay_mini.svg?branch=master) [![Gem Version](https://badge.fury.io/rb/alipay_mini.svg)](https://badge.fury.io/rb/alipay_mini) [![Maintainability](https://api.codeclimate.com/v1/badges/38ee73000994e3721c04/maintainability)](https://codeclimate.com/github/renyijiu/alipay_mini/maintainability) [English](https://github.com/renyijiu/alipay_mini/blob/master/README_en.md) # AlipayMini 一个非官方的支付宝小程序相关的gem包。 由于官方未提供Ruby版本的服务端SDK,所以对于小程序开放的接口进行Ruby版本的封装。 ## 安装 在Gemfile中添加下列命令: ```ruby gem 'alipay_mini', '~> 0.1.0' ``` 执行下列命令: $ bundle 或者通过命令行安装gem: $ gem install alipay_mini ## 使用 ### Config配置 首先配置的初始选项 ```ruby AlipayMini.configure do |c| c.private_key = "your own private key generate by alipay" c.public_key = "the alipay's public key" c.url = "the alipay api url" c.app_id = "your own app_id" end ``` > 注意⚠️: public_key 为支付宝官方的公钥,不要填错了!!! 示例: ```ruby AlipayMini.configure do |c| c.private_key = "MIIEogIBAAKCAQEA0J12pYTGu5y6uWv06/vso4EZkmh9s51hbV4TiM9K99x4bz/mn8+6mRXCxooGvWqtU4xM7sYx+GE3EE4JX3Zxzzg7c/SUbzMC3GwIAO05U6R5dANBsBsl9GZ95EdPKKmxklM1Sa8IdeWNJkU9UJ9zXHHm35bzvVyfG3ava0Kp2pfKHskAfiqtOV5WEkwY3dAyqa2URHm182A0dUyCGXDeeTmbJ0VDXoAHdlNzhdHiH1hJtzSeJ9ouI6tY6lBcfII/ywvLF83a7GWUGFyBoV724xIBsBPc/bHCK2rlRdAqr7dyILHubetHtzs/6RT4OHjvnPTNbHemtWQrOXcVk4DpJQIDAQABAoIBAHEqKfVpzGBzibsR+/+TXm/nlVadhirMIdCxKsmZIWLJXy+CK3nftqpaaplGwJc56iIbRpR0QSEqozMeEemOF/i/2UhykZ6svk2R8NmH1gQwgY3UQmrknzcv7fTKVf+J5gCpUIvS/jTuPB5ZiwRUKsEoLIR3n2rGdqzwOgJmXDtuBpjqxfFDE2tS8hMx2xwBmN5xabUbAv897uci6Bw/J+p3C8xADMKOJvUqkoTz1V0zXJIJ0DA3yIo0SakZ8iGu5P8x1VPBccSO3LQIfX1xS7lsFk3lq1VED918/KKnJvwvF8moyKJEo4UgeKoDgJiYjMmIob2mj/bL+IJQR2vJN8ECgYEA9P+MSWDh6FOVD2pLZQ9G87X34aZxPJsVuZR4vXENR7cV5vq77d6W1DoI+wBq3KHj+l2m4eY0IY4c/wyf4dRVtRisZe9JSTpJc/VSUv/hCzRoFK64C2kAhynkKfb9smNnxq7gt/Z5nuDninHubW/9monv5dWhQzs38u82KVwEPNECgYEA2fupdRpwlAAeDLHtFbnV6GdgSy/Nq6fpe4abtQ1hSmcKdnIOJdFnh4jPsKuM5WGCcJf2Fupz7rcBbhGncLcSkCs4QR7goQ//h1676VvCersLI+Xm2GEEARA5dSqTAOs0yfMR1sQU2S2/CkRniluJt42ywSm9xXqtYXD3oF50LBUCgYAEbg56US8khUZftftRA3qz82ldAiZwAxncdivMuRuVXWEfAQ+e2HR/t+DrsPE9tguqPkFDOmdc5/XsQq0tZyp5kM2lNjNsCIrFdv0bFRdbnYH4RcR8KFTjHMXMYHPr4tJAjG7xxJokXkqxfSfjgK/kOHRHAprc3VhAo0SmcMx+0QKBgEZakzbYcb1SzGAMjRiWAhQgSVP6+caNSy4zI84ro1sAJsBTz30lOOTloyLCO5dNAWyVnzeGNCS3rB56VDBs5fDiAiYCcT2KjE6EpOGMXBiAhffwG7F6nnA5bFIEi62gPElxyjAm2RO/UAlgSoq9QJWdhjQR5M336j2o2ENKOPSBAoGAeeduPyZrc2oa3zJJdgMuSN8zrfG9OMYIeGfBkAv5YPrqpYryn9w0FDj+aHLsCwiVOZPeS39ySa/0+7j7rnw/fAS2meHguosE5PlQgQfTG1V24xogPwXoBP1b3dgyC18JHWQu/wucEe9a11VTVHqY7rMDEcL6R0WPljCxNChnj5Q=" c.public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoBr6Ag68Dlbf/ZNvqNotNpe2pDei58ObbD7SNEWjMx8CpTTIOqgwbCL0EHuUAF1fxOP42uLd4n/fEdbU0BNkd+4TL71P49Fq4wMXyqoYm+EzEZ8mBnevKtPPb813L1W2thZVISNWMR67axyy6xMk77YOEqRUz3hfJlowm9us8YgHranx+O1vR8olgVTdhjOub9QD/tK7ok1GWSw/dBFpcG9WTuKnPrklMIBxUllIONciH+7KGX+Yhs0zLTEPRufATAy1slIC8NhoBSxSB0PRsix4/gVCw4IAIzGPspdRPA0ZCeJPrjGvuBh9215lNpv0+ew6/a/x3db0ZIVDzLrzyQIDAQAB" c.app_id = "2015102700040153" c.url = "https://openapi.alipaydev.com/gateway.do" end ``` ## API ### [alipay.system.oauth.token](https://docs.open.alipay.com/api_9/alipay.system.oauth.token) ```ruby # when grant_type is 'authorization_code', code is the auth_code # when grant_type is 'refresh_token', code is the refresh_token # # @param grant_type String - 'authorization_code', 'refresh_token' # @param code String - auth_code or refresh_token # # @return Array - [flag, res] flag: request status, res: response hash # # Example: # AlipayMini.system_oauth_token('authorization_code', 'helloworld') # AlipayMini.system_oauth_token(grant_type, code) ``` ### [alipay.user.info.share](https://docs.open.alipay.com/api_2/alipay.user.info.share) ```ruby # @param access_token String # # @return Array [flag, res] # # Example: # AlipayMini.user_info_share("helloworld") # AlipayMini.user_info_share(access_token) ``` ### Response ```ruby # flag: request state, true is success, false means the request error # # Example: # AlipayMini.system_oauth_token('authorization_code', 'helloworld') # # Return: # [true, {"access_token" => "12345", "alipay_user_id" => "12345", "expires_in" => 1296000, "re_expires_in" => 2592000, "refresh_token" => "12345", "user_id"=> "12345"}] # # [false, {"code" => "40002", "msg" => "Invalid Arguments", "sub_code" => "isv.code-invalid", "sub_msg" => "授权码code无效"}]] # ``` ## 进度 ### 已完成 1. [换取授权访问令牌](https://docs.open.alipay.com/api_9/alipay.system.oauth.token)(alipay.user.info.share) 2. [支付宝会员授权信息查询接口](https://docs.open.alipay.com/api_2/alipay.user.info.share)(alipay.user.info.share) ## 如何贡献 1. Fork it 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create new Pull Request 欢迎贡献相关代码或是提交你的使用反馈👏,另外请记得为你的代码编写测试。