CoDiのプライベートキー
CoDiをSTP経由で操作するためのプライベートキーを生成します。
1. 認証情報を確認#
管理画面で、 STP CoDi en la opción "Conexiones" y agregue las siguientes credenciales:
- 名前: 接続名
- 通貨: CoDiの場合、 MXN のみ利用可能
- 会社: STPで登録された会社名
- 受益者口座: STP口座番号
- 受益者名: STPで登録された受益者名
- プライベートキー: 生成する必要があるプライベートキー。詳細については、「プライベートキーの生成」を参照してください。
- 有効期限: 分単位での参照有効期限。
2. プライベートキーを生成#
次のコマンドを使用して、JKS形式でプライベートキーを作成します。
Shell
keytool -genkey -alias NombreDeLaEmpresa -keyalg RSA -keystore llavePrivada.jks -keysize 2048 -deststoretype jks -validity 3703. プライベートキーのフォーマット#
必要に応じて、次のコマンドを使用してプライベートキーを他の形式でフォーマットします。
JKSからP12
Shell
keytool -importkeystore -srckeystore llavePrivada.jks -destkeystore llavePrivada.p12 -srcstoretype jks -deststoretype pkcs12 -validity 370
P12からPEM
Shell
openssl pkcs12 -in llavePrivada.p12 -out llavePrivada.pemP12からPEMへの変換(JavaScriptでの使用)
Shell
openssl pkcs12 -in llavePrivada.p12 -out llavePrivada.pem -nodes.cer プライベートキー#
cer形式でプライベートキーを生成します。
CoDiから以下のエンドポイントを使用します。
| エンドポイント | メソッド | 説明 |
|---|---|---|
/payment | POST | 支払いを作成し、QRコードを生成 |
/payment/{id} | GET | 支払いステータスの取得 |
/refund | POST | 返金のリクエスト |
/webhook | POST | 支払いステータス通知の受信 |
Purchase V2
V2への呼び出し 購入エンドポイント DEUNAでの購入と注文に使用。
- エンドポイント:
post {{apigw-url}}/v2/merchants/orders/purchase - ヘッダー:
Authorization: Bearer {{user-token}}x-api-key: {{merchant-private-key}}
JSON
{
"order_token":"{{order-token}}",
"order_type": "DEUNA_CHECKOUT",
"payer_info": {
"email": "email1@email.com"
},
"payment_source": {
"method_type": "bank_transfer",
"processor": "stp_codi",
"payment_method": "{{phone_number || empty}}", // Account number associated to STP account or empty to generate QR code
"method_type_specific_fields": {
"description": "Test payment"
}
}
}応答
JSON
{
"order_type": "DEUNA_NOW",
"order_token": "4598f493-de86-4fe0-b9fd-c4c6c9847e39",
"order": {
"order_id": "DEUNA_NOW_b6a5c0b6-3df9-4b3b-b778-7086c190062b",
"store_code": "all",
"currency": "MXN",
"tax_amount": 10000,
"display_tax_amount": "",
"shipping_amount": 10000,
"display_shipping_amount": "MXN 100,00",
"items_total_amount": 10000,
"display_items_total_amount": "MXN 100,00",
"sub_total": 10000,
"display_sub_total": "MXN 100,00",
"total_amount": 10000,
"display_total_amount": "MXN 100,00",
"status": "pending",
"payment": {
"data": {
"amount": {
"amount": 10000,
"currency": "MXN"
},
"metadata": {
"key1": "value1",
"key2": "value2"
},
"updated_at": "2024-12-05 18:28:14.726950103 +0000 UTC",
"method_type": "bank_transfer",
"merchant": {
"store_code": "all",
"id": "e25c4fff-ef50-498b-9a3c-5937d96280f7"
},
"created_at": "2024-12-05 18:28:14.725709716 +0000 UTC",
"id": "DEUNA_NOW_b6a5c0b6-3df9-4b3b-b778-7086c190062b",
"processor": "stp_codi",
"payment_method_type": "push_notification",
"customer": {
"email": "email@email.com",
"id": "ac434d25-1f42-44b5-883f-fa1b2a08eec6",
"first_name": "",
"last_name": ""
},
"status": "pending",
"next_action": {
"action": "authorization_bank_transfer",
"authorization_bank_transfer": {
"reference": "{{folioCodi}}",
"expiration_date": "2025-05-05 14:20:50",
"qr": ""
}
},
"reason": "",
"external_transaction_id": "{{folioCodi}}",
"merchant_payment_processor_name": "",
"authorization_code": "",
"installment_interest_calculations": null
}
},
...
}
}支払いステータス
| CoDIステータス | DEUNAステータス | 説明 |
|---|---|---|
pending | pending | 確認をお待ちしています |
completed | processed | 決済が完了 |
failed | denied | 決済は失敗しました。 |
expired | expired | QRコードが有効期限切れで支払いが行われなかった |