身份验证

身份验证

系统使用 HTTP Basic Authentication 进行身份验证。

如何发送 API Key

每个请求都必须使用 HTTP Basic Authentication:

  • Username: api(固定值)
  • Password: 服务提供商颁发的 API Key

所有 HTTP 库(curl、Python requests、Ruby Net::HTTP)都会自动处理编码 —— 无需自行进行 base64 编码。

API Key 可在 Admin Panel → Business Setup → Pay-In Request Endpoint 中创建和管理

代码示例

cURL

curl -X POST "https://api.please-payment.com/api/PaymentRequest/org/{orgId}/action/SubmitPayInRequest/{merchantId}" \
  -u "api:YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"RefId1": "ORDER-001", "RequestedAmount": 325, "Currency": "THB", "QrProvider": "PP"}'

或直接使用 header:

curl -X POST "https://api.please-payment.com/api/PaymentRequest/org/{orgId}/action/SubmitPayInRequest/{merchantId}" \
  -H "Authorization: Basic $(echo -n 'api:YOUR_API_KEY' | base64)" \
  -H "Content-Type: application/json" \
  -d '{"RefId1": "ORDER-001", "RequestedAmount": 325, "Currency": "THB", "QrProvider": "PP"}'

Python

import requests

API_KEY = "YOUR_API_KEY"
ORG_ID = "your-org-id"
MERCHANT_ID = "your-merchant-id"
BASE_URL = "https://api.please-payment.com"

payload = {
    "RefId1": "ORDER-001",
    "RequestedAmount": 325,
    "Currency": "THB",
    "QrProvider": "PP"
}

response = requests.post(
    f"{BASE_URL}/PaymentRequest/org/{ORG_ID}/action/SubmitPayInRequest/{MERCHANT_ID}",
    auth=("api", API_KEY),
    json=payload
)

print(response.json())
⚠ 注意事项
  • 不要在前端代码或公共代码仓库中暴露 API Key
  • 如果怀疑 API Key 已泄露,请立即联系服务提供商申请新的 API Key
  • API Key 与商户绑定 —— 每个请求都应使用对应商户的正确 Key