Barcode payment

介绍

Barcode payment是一种店内线下即时收款的解决方案,商户可以通过扫用户的支付宝/微信付款码来进行收款。Barcode payment的主要优势是用户的支付宝/微信可以离线使用。

流程

participant 用户
商户->用户: 1. 商户扫描用户付款码
商户->ScanForPay: 2. 发起交易请求
ScanForPay->支付平台: 3. 发起请求交易
支付平台-->ScanForPay: 4. 通知结果
ScanForPay-->商户: 5. 通知结果

商家收款接口

请求地址

POST

https://pay.scanforpay.com/api/offline/pay
业务请求数据
名称 参数名 数据类型 必填 说明
门店编号 storeNo String (15) Y 由scanforpay分配
商户订单号 partnerOrderNo String (32) Y 由商户生成
20180802100000001
付款码 barcode String (20) Y 由扫码工具扫描用户钱包付款码获得
交易金额 orderAmount int Y 交易币种的最小单位
如果商家币种是人民币,则100表示100分=1元;如果商家币种是日元,则100表示日元的 100元
交易说明 orderTitle String(100) N 对交易的说明
操作员 operatorId String(20) N 由商户填写 100001
终端编号 terminalNo String(20) N 由商户填写 100002
支付成功通知地址 notifyUrl String(200) N 如果填写,则支付成功后会通知到该地址,商户需处理重复通知的情况.
如果不填,则支付成功不会进行通知。
请求示例
{
    "request": {
        "header": {
            "requestTime": "2018-07-25T18:06:05+08:00",
            "partnerNo": "10001",
            "signType": "SHA256",
            "version": "1.0",
            "reqMsgId": "fd03f269-3180-4575-8af0-8f6cf324fb0f"
        },
        "body": {
            "storeNo": "100010000000002",
            "partnerOrderNo": "p20180725180605466813",
            "barcode": "284447106610060508",
            "orderAmount": 2100,
            "orderTitle": "Consume",
            "operatorId": "211918",
            "terminalNo": "123456",
            "notifyUrl": "http://192.168.31.72:8080/scanforpay/notify"
        }
    },
    "signature": "2d2d5c66a67a24b5e13705cc38f34d93c395a7d9e0e4ff9425c9ce07b806a1cc"
}
响应数据
名称 数据标识 数据类型 必填 说明
响应码 code int(5) Y 1:成功 其他为交易失败
响应信息 msg varchar (100) Y 响应信息
支付订单号 orderNo varchar(32) Y 由scanforpay生成
商户订单号 partnerOrderNo String (32) Y 由商户生成
20180802100000001
交易金额 orderAmount int Y 交易币种的最小单位
如果商家币种是人民币,则100表示100分=1元;如果商家币种是日元,则100表示日元的 100元
支付钱包 wallet String (10) Y Wechat: 微信支付
Alipay: 支付宝
订单状态 status int Y 0:待支付
1:支付成功
2:支付失败
3:已退款
支付时间 payTime String(25) N Date time with timezone, see RFC 3339 Section 5.6 for details.
2018-07-25T17:54:00+08:00
支付币种 currency varchar(5) Y JPY
付款人账号 buyer varchar(30) N c*@gmail.com
付款ID buyerId varchar(30) N 208xxxxxxxxxx012
响应示例
成功响应实例
{
    "response": {
        "header": {
            "partnerNo": "10001",
            "respTime": "2018-07-25T18:06:12+08:00",
            "signType": "SHA256",
            "version": "1.0",
            "reqMsgId": "213ca19e-c75f-450d-9acf-46e860570bb9"
        },
        "body": {
            "code": 1,
            "msg": "success",
            "orderNo": "2018072518060757",
            "partnerOrderNo": "p20180725180605466813",
            "payTime": "2018-07-25T18:06:12+08:00",
            "wallet": "Alipay",
            "currency": "JPY",
            "status": 1,
            "buyer":"cd****@qq.com",
            "buyerId":"208xxxxxxxxxx012"
        }
    },
    "signature": "0710b2630b467c14b3d54295def7f89be61097c21472547823b43c58f3466b08"
}
失败响应实例
{
    "response": {
        "header": {
            "partnerNo": "10001",
            "respTime": "2018-07-25T17:37:14+08:00",
            "signType": "SHA256",
            "version": "1.0",
            "reqMsgId": "c11fe1c7-069b-4399-be00-31830a5de63d"
        },
        "body": {
            "code": 30
            "msg": "订单不存在",
        }
    },
    "signature": "5719065ecea463366cbf39b728b9b8cba940365c0c053dd96effde57f7edc1f8"
}

results matching ""

    No results matching ""