接入文档

绿点支付支持两种接口模式,标准模式和自定义模式。标准模式下,用户发起付款请求后,会跳转至官方的支付页面,付款完成后,会自动跳转至商户指定的页面。自定义模式下,绿点支付会返回订单相关的收款码信息,商户可自定义支付页面,并通过收款结果查询接口,查询用户是否支付成功。

接口约定

1. 数据编码统一为 utf-8。

2. 该文档中提到的 token,都是指商户 token。可在绿点支付网站后台查看。

3. 对于有数据返回的接口,格式为 json,结构如下:

                      
    {
        code: xxx,     //200 为成功,其它为失败
        content: {}    //当 code=200 时,content为接口返回内容。否则为错误信息
    }
                      
                  

4. 对于有数据提交的接口,统一用 post 的方式(查询接口除外)。数据格式为:

                      
    application/x-www-form-urlencoded
                      
                  

1. 发起付款接口

接口地址:

https://www.greenyep.com/api/index

请求方式:

post

请求参数:

参数名 含义 验证 类型 说明
uid 商户uid 必填 string(16) 商户唯一标识,注册后可在网站后台,接口信息栏查看。
mode 支付模式 必填 int 1:标准模式。即跳转至官方的支付页面;
2:自定义模式。接口会返回对应的收款二维码信息,商户可自定义收款页面。并结合收款结果查询接口,查询用户是否支付成功。
amount 价格 必填 float 单位:元。精确小数点后2位。
type 支付方式 必填 int 1:支付宝;
2:微信。
account 账号名称 选填 string(32) 通过此参数指定该订单关联的支付宝和微信账号。type=1 时,为支付宝账号。type=2 时,为微信账号。该字段主要用于多账户轮询。
notifyurl 异常回调网址 必填 string(256) 用户支付成功后,绿点支付会主动发送一个 post 消息到这个网址。该参数不要 urlencode。例如:http://商户的域名/pay_notify。
returnurl 同步跳转网址 mode=1,必填
mode=2,不指定该参数
string(256) 在 mode=1 标准模式下,用户支付成功后,绿点支付会自动跳转到这个网址。该参数不要 urlencode。例如:http://商户域名/pay_return。
ordernum 自定义订单号 必填 string(64) 绿点支付在回调商户接口时,会带上这个参数。例:201710192541。
orderuid 自定义用户编号 选填 string(32) 绿点支付会显示在后台的订单列表中,方便商户对用户付款进行对账。可以为用户名,也可以为数据库中的用户编号。例:xxx@aaa.com,xxx等。
goodname 商品名称 选填 string(64) 商品名称,绿点支付后台的订单列表会显示该字段,方便订单归类。
key 秘钥 必填 string(32) 把使用到的所有参数,连同 token 一起,拼接在一起。做 md5-32 位加密,取字符串小写。网址类型的参数值不要urlencode。
key的拼接顺序:goodname + type + account + notifyurl + returnurl + ordernum + orderuid + amount + mode + token + uid。当 mode=2 时,请勿指定 returnurl 参数。
1:出于安全原因,绿点支付后台会将接收到的参数进行加密,与 key 完全匹配,防止支付信息被第三方篡改。
2:商户 token 非常重要,一定不要显示在任何网页代码、网址参数中。只可以放在服务端,以免发生意外的安全风险。
3:当 mode=1,即标准模式时,请在前端通过 form post 提交的方式调用该接口。调用后页面会自动跳转至绿点支付支付页面。当 mode=2,即自定义模式时,可在服务端调用该接口,接口会返回相关的收款码信息。

当 mode=1 标准模式时,请求上述接口,会跳转至绿点支付官方支付页面。

当 mode=2 自定义模式时,请求上述接口,接口会返回:

参数名 含义 类型 说明
greenpay_id 绿点支付官方订单号 string(128) 可通过该字段,调用查询接口(queryurl)核实用户是否支付成功。
payurl 收款二维码链接 string(128) 该字段即支付宝或微信收款码在线链接。
payimg 收款二维码内容 string(512) 该字段将 payurl 进行图片 base64 处理。可直接在页面中显示。
amount 订单金额 string(10) 订单金额
realamount 支付金额 string(10) 用户实际需要支付的金额
ordernum 自定义订单号 string(512) 商户在发起付款时传入的自定义订单号,系统会原样返回。
type 支付方式 int 1:支付宝;
2:微信。
queryurl 支付结果查询地址 string(128) 用户支付结果查询地址。详细信息请参考后续查询接口。
timeout 过期时间 int 支付过期时间,单位秒
key 秘钥 string(32) 把返回的所有参数,连同 token 一起,拼接在一起。做 md5-32 位加密,取字符串小写。

key的拼接顺序:type + amount + realamount + timeout + payurl + payimg + greenpay_id + ordernum + queryurl + token。

返回示例:

                      
      {
          content: {
              payurl: "HTTPS://QR.ALIPAY.COM/FKX09303PYTTATU62CC748",
              greenpay_id: "2iqqks4m1buxl9qlse54rxxg3jf1uihw",
              ordernum: "gp201811031635431580613980846404",
              payimg: "data:image/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAARgAAAEYAQMAAAC9QHvPAAAABlBMVEX///8AAABVwtN+AAABFElEQVRoge2WwRKEMAhD+f+fzo4tAerq0VOC285Kn5dMiEa4XK4vC7tirev26lXXDHInuVsYZ+pMq7dlw+yaybvyF8LMk4ZrHGksM/cZ3Oqt3+ucSjLM8PN6znlBhoXIiIq/I2kGGd79l080LM1kH4xw0h1R2swyFfeiUUElzgS1o6A8Hh6TZla3JcPxqJk+yKkD33KHyWSZ+gbYtqK3uOQZOqzDKpU8vpF0GTCi2EL3zaR2PJnNWcIMeNFTqJdbe0yYiVO/GkicQuoy6BiPnMRumBlCts3illHCTOmFKFeVmGZqAPcVY5nJ0+2mnD6KauZkSsXZMHNrDTnLf+pM7SnhiqtBijM9cZzCSKtFmHG5XB/VD250hCXyW9eHAAAAAElFTkSuQmCC",
              queryurl: "http://www.greenyep.com/api/index/query",
              type: "1",
              timeout: 120,
              amount: '10.00',
              realamount: '9.99',
              key: "4d8017ce6b78881c3dbd4fb9ec034772"
          },
          code: 200
      }
                      
                  
注意:商户可将上述返回参数加密后,与 key 进行匹配,防止返回结果被第三方篡改。

2. 付款成功回调通知

用户付款成功后,绿点支付会向商户发起付款请求时传入的 notifyurl 网址,发送回调通知。

请求方式:

post

参数内容:

参数名 含义 类型 说明
greenpay_id 绿点支付生成的订单号 string(32) 此订单在绿点支付服务器上的唯一编号。
ordernum 自定义订单号 string(64) 商户在发起付款接口传入的自定义订单号。
amount 订单定价 string(10) 商户发起付款接口传入的订单价格。
realamount 实际定价 string(10) 用户实际支付金额。
type 支付方式 int 1:支付宝;2:微信。
orderuid 自定义用户编号 string(16) 如果商户在发起付款接口传入此参数,绿点支付会原样传回。
key 秘钥 string(32) 把返回的所有参数,连同 token 一起,拼接在一起。做 md5-32 位加密,取字符串小写。
key的拼接顺序:ordernum + orderuid + greenpay_id + amount + realamount + type + token
注意:商户可将上述返回参数加密后,与 key 进行匹配,防止返回结果被第三方篡改。

3. 付款成功自动跳转(仅 mode=1 标准模式可用)

用户付款成功后,绿点支付先通过付款成功回调接口,通知商户服务器付款成功,再过1秒左右,将用户跳转至商户在发起付款请求时传入的 returnurl 地址。

传参方式:

get

参数内容:

参数名 含义 类型 说明
ordernum 自定义订单号 string(64) 商户可以通过此 ordernum 在自家后台查询用户是否付款成功,给用户一个付款成功的展示。
注意:请不要将此跳转认为是用户付款成功的判断条件,此行为极不安全。请根据绿点支付的付款成功回调通知是否送达,来判断用户是否支付成功。

4. 支付结果查询接口(仅 mode=2 自定义模式可用)

请求地址:

https://www.greenyep.com/api/index/query

请求方式:

get

请求参数:

参数名 含义 类型 说明
greenpay_id 绿点支付官方订单号 string(128) 绿点支付官方订单号。该参数会在付款接口请求中返回。

请求返回:

当返回结果 code=200 时,则为支付成功。