Payment Master Data Management API

版本 修订内容 修订原因 编写时间 作者
v0.1 创建 2017-11-29 宦传建
v0.2 新增字段 from 区分 GC 和 EC 门店 2018-02-28 宦传建
v0.3 使用 opType 区分是新增还是变更门店 2018-04- 宦传建

以下简称 PMDM

接口说明

请求参数

字段 类型 是否必填 备注
ver Integer API 版本
sign String 签名
stores Array 门店信息列表
└ province String 省份
└ city String 城市
└ company String 公司名称
└ id String 门店号
└ name String 门店名称
└ addr String 门店地址
└ manager String 门店经理
└ managerPhone String 经理电话
└ email String 门店邮箱
└ phone String 门店电话
└ posNum Integer 门店pos数量
└ opType String 操作类型,详细见附录
from Integer 区分 GC 和 EC,详细见附录

响应参数

字段 类型 是否必填 备注
ver Integer 默认使用请求的 ver
sign String 签名
code Integer 返回码
msg String 返回码描述

请求示例

  1. {
  2. "ver": 1,
  3. "stores": [
  4. {
  5. "province": "广东省",
  6. "city": "深圳市",
  7. "company": "西安星巴克咖啡有限公司",
  8. "id": "50928",
  9. "name": "咸阳丽彩万达店",
  10. "addr": "咸阳市秦都区玉泉东路与泉北三巷交叉口西北角咸阳丽彩万达广场1楼",
  11. "manager": "Higer 司咸林",
  12. "managerPhone": "13279566588",
  13. "email": "S50928@starbucks.cn",
  14. "phone": "",
  15. "posNum": 2,
  16. "opType": "create"
  17. },
  18. {
  19. // ...
  20. }
  21. ],
  22. "sign": "Kwk9I9SyRlYnHYYbo+hsKVjsCZ+38kWdsnAhw9AqjVS1b6ZiNBl05UlQVAf9hRSsbCuidY4OGmMvzYpBX9bX0evU/PwNwT+VhHDVjWKPOWKJRbGslMz7fWuFLTnmsaiPikvY8sGuTygoHhLQV3GsT7rJdHI+CPCp90bMlLGUdcOIpWHcmqvugxpen24v986GRoRKUg7D7ku8i401F0Nj06hEgytC/JtQWsi7x5zdAO/Mf3aPoNqD06PzGBjhrAnlE43jgMFJvArQ38qCTist+orniBFjQxLtdk99vqaZXx8tdRwD/ZJfQ2MhJAvqcmU0brelAK1Q1rGf5QmEcAy5bQ==",
  23. "from": 1
  24. }

响应示例

  1. {
  2. "ver": 1,
  3. "sign": "Ga8vZwBFV9Qyegz4OuTkMyT1r9n3Vk/HHn1noLfZM2jVy2Y6xjhBUl2OsfbPu7EQm4pRbrUuVrw2hCv4IVzz7/iA+pJOYhXz8tGvkYedl5vZdI2+Mb3l6dav4g9tDR9FdXJ6SvT7Yi5SaBGqtIwof1UmuMrGDsToQZe6ADRMq2z34A6WpEJknvwP5cxK1TCFvvX46G7ZyiAq6UcBhMHs3r1NSH0eYxEygvg4qYUy4KNGhavO5+M0La+6bKpUarU6izF2DXV2f14mawcHLg6YDjXk6LnNJ7UKH6sUnwOc1AoAHG6B8FslDqW7e5JTvQzbUpuUXKc1WUKruSgFPCInOw==",
  4. "code": 100,
  5. "msg": "成功"
  6. }

签名规则

1. 筛选并排序

获取所有请求参数,不包括字节类型参数,如文件、字节流,剔除 sign 字段,剔除值为空的参数,并按照第一个字符的键值 ASCII 码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值 ASCII 码递增排序,以此类推。

2. 拼接

将排序后的参数与其对应值,组合成“参数=参数值”的格式,并且把这些参数用&字符连接起来,此时生成的字符串为待签名字符串。

  1. {
  2. "ver": 1,
  3. "sign": "",
  4. "stores": [
  5. {
  6. "province": "广东省",
  7. "city": "深圳市",
  8. "company": "西安星巴克咖啡有限公司",
  9. "id": "50928",
  10. "name": "咸阳丽彩万达店",
  11. "addr": "咸阳市秦都区玉泉东路与泉北三巷交叉口西北角咸阳丽彩万达广场1楼",
  12. "manager": "Higer 司咸林",
  13. "managerPhone": "13279566588",
  14. "email": "S50928@starbucks.cn",
  15. "phone": "",
  16. "posNum": 2,
  17. "opType": "create"
  18. },
  19. {
  20. // ...
  21. }
  22. ],
  23. "from": 1
  24. }
  1. from=1&stores=[{"addr":"咸阳市秦都区玉泉东路与泉北三巷交叉口西北角咸阳丽彩万达广场1楼","city":"深圳市","company":"西安星巴克咖啡有限公司","email":"S50928@starbucks.cn","id":"50928","manager":"Higer 司咸林","managerPhone":"13279566588","name":"咸阳丽彩万达店","opType":"create","phone":"","posNum":2,"province":"广东省"}]&ver=1

加签的测试密钥

  1. MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCiecgdLLeMTlhbjj7ccUj+xtU7u66zYNPcnWsPl9hO0sjVQqDQEBFLcsgkOalsodc/3D1EA+4PDEq/mswK4v9D+Xn/X7c2oYjM8pOVo03qtMEgLzsZKGI/NmxjXD8Ceqe2jEPf/IJ6g2LvQt1qm7BLnoK3i+B2xQvfxo1E1Jetnhe8gh65Dac4G67IcB5WY3zr8qIHVMyUuf/pEIpi6IUVNVVK/3IPN+NJRFGa9z5mUdbZrp/3ogWbBNfwI/5C1Ahw30lmrjgtH2LHHv8Z1DNtUc6oVn00OKMWUTdvHRFrcTcOvnz+/nTt/dmASsxVRlnnVUqQT1RaoK6w/I6h11jlAgMBAAECggEARE2L+e/Vjc9Vx8+Jz6R0Ol8eP0lMTS6UgjdPTbPZBHIKadTjw/QtQRmU193BwuBanAcbXl+EkaDqP5h01NLO2yWiyt/TJs1LtFT6BDstw1CPq9cPMilO/CIF+NNLzeAAZ3aaBiyiMZzQV6M1b97Zg0C01TKhf2yg7EcNFnWE+kBDXT4yoNHG09Ga/WVvdnYFSeGlHf/52kJhXmj4dUiEj4N1ljC9EhoqyUGI8oV6J+txKxnjZazLLw1rpDVXTSJ2ggHB4SNAcAWtbTHXTyt7PI7JNPryf4EQ9zGjWZYSF0e47gqBDBbBiikwyqin41Zwa5uqwFQ4+//qizm0c8iToQKBgQDPJxSzzYJYCuVmJyhcpXqPUGq7qpFlrizkMkSkZZKpJuf7+YmFExM+513HhcrMoMXsS65JzrtozRZs2hl5/1+DQOdToAfbiFk5TwLRjfZOQ7xoRyAbAQlCdrkAzRkogqisGprtpUOIuckoBdw9vu0WrsozjUiMa8IIVG5Uwpy4qQKBgQDIyb6hM/YOtEPjhngmYOvK2PziZeV1PrqRRs7O11m52RkSbLErDlf7DY4sAuui/wn8wv4ErJoTqHOetLDAp/oHbU+ceQ/Fzm2r5BHXNzEn3kqcp9kDubUVOhNOkQ3AvMKhl0DiXiVH3m9osk8W9GXYk+jLgZdU3rPru7YQMYbX3QKBgEkhIs3W3wz1y8YkTLtoL7woR4W40Vt0AaUNme3vbbcJZRwvG70+3qx2QUUOlmlm2HhyvzSPJtn4jNIgrJ3E6ZMMdp2vARcfK2Bv5C7WTv2SLBEkCtF9rCcqgmUmApuqhKE9QzRiA1VhQQJAD2A85rX7Pqa0Wcg4wmbuZ4TEr08BAoGACJjKtrA42sxRE87QGiSQM/EycqcWOfzjlBDKDgUebFylPCq3Mza8AZ3E9pFxcVsmHFJk+eJB/pF50dO+taD7jZHalMKCMF/0RiXPtb1BN4nG/AobupMa87u20+hWBGiQlMabGpYZVohpkLwBsuPn8Gv0zbHQvuuCHJe+5daZBWkCgYEAh5AGqKBgybB95yuIi9egNSxKt6QQfYtio/zBTC3AbiHvk1NZHpppxlpsbbRqka4/WLv0NF0CVMqCkBLCWPjd/V2njbj2dL1ywhajFekILPJa0UYW4GH3UVBIYcXTNeOZ0EXAh64NvQBeJ7GK+97Wx6PCMXjmQhe1cxu+/B9DEzs=

使用各自语言对应的 SHA256WithRSA 签名函数利用商户私钥对待签名字符串进行签名,并进行 Base64 编码,得到签名为:

  1. MPW2rlQkyeOzTVLMVxPjLtRncVuEZ10vEWvRWNLs68+7YKIY9pDJkEVZ6GAJrtxBbu2oXkvUey37yz/cPLiwv9hhxLHZy2G5IX1ElyhiS+HG0CGkfnQ1E72tO4cQ3+uqnBdbp/3/fiohPvzZ8eatj4HKFq/Zc6IOmPvPcki4mFh6zEbORSyG+PEJMU3Fiw2uYIuWE2aJaxkiophZvxZGs+eVmKS4/GtNQgdse4wnuueleYRetBB50J55JbzglEVNcgzczIQDSH50Cc2BqIYglFsFWg9no9HEtLlsPTaog+ToKk6EmqxoWZ+bBcF4boSfSKDnLh5c2slaINzhN96XhA==

返回码表

返回码 返回描述
100 成功
101 接入方自定义失败描述,方便排查问题

门店所属公司

from字段 描述
1 星巴克中国(GC)
2 统一星巴克(EC)

操作类型

opType字段 描述
create 新增
update 更新