外部支払のAPIサポート
25D以降、OCCは、承認または決済を処理するためにOCCを必要とせずに、外部で承認および決済された支払をサポートします。 新しいpaymentGroupType - ExternalPaymentが導入されました。 複数の支払タイプ(カード、ACH、銀行振替、PayPal)を処理でき、カスタム・プロパティをダウンストリーム・アプリケーションにシームレスに渡すことができます。
機能ハイライト
- 外部承認または決済済支払をサポートします(OCC側の承認は必要ありません)。
- サブスクリプションのユース・ケース用にトークン化されたカードを受け入れます。
- 前払入金(AR入金のある販売トランザクション)をサポートします。
- カード、ACH、銀行振込、PayPalなど、複数の支払タイプをサポートします。
- 請求先住所、トランザクション日、外部ID、支払ステータスなどの支払詳細を取得して永続化します。
- CPQなどのダウンストリーム・システムのカスタム・プロパティおよび拡張をサポートします。
この機能により、小売業者はOCCの承認ワークフローをバイパスしながら、OCCを外部支払システムと統合できます。 すでに外部で支払を処理している小売業者に柔軟性を提供し、スムーズな注文発行を実現し、ダウンストリーム・システムが完全な支払コンテキストを受信できるようにします。 承認後の失敗を無視し、カスタム拡張をサポートすることで、業務上の摩擦を軽減し、外部の財務プロセスとの互換性を高めます。
有効化のステップ
- 外部Payment Gateway拡張(ExternalPayment.zipなど)を作成して構成します。 支払ゲートウェイ拡張の書式については、「クレジット・カード支払ゲートウェイの作成」の統合の章を参照してください。 ゲートウェイ拡張ディレクトリ構造内の次のJSONファイルを使用して、拡張の動作を構成する様々なプロパティを設定します。 jsonファイルの内容は次のとおりです。
gateway.json:{
"provider": "External Payment Provider",
"paymentMethodTypes": [
"external"
],
"transactionTypes": {
"external": [
"authorize"
]
}
}
config/config.json:{
"configType": "payment",
"titleResourceId": "titleLabel",
"descriptionResourceId": "descriptionLabel",
"instances": [
{
"id": "agent",
"instanceName": "agent",
"labelResourceId": "agentInstanceLabel"
},
{
"id": "preview",
"instanceName": "preview",
"labelResourceId": "previewInstanceLabel"
},
{
"id": "storefront",
"instanceName": "storefront",
"labelResourceId": "storefrontInstanceLabel"
}
],
"properties": [
{
"id": "supportedCustomProperties",
"type": "stringType",
"name": "supportedCustomProperties",
"helpTextResourceId": "supportedCustomPropertiesHelpText",
"labelResourceId": "supportedCustomPropertiesLabel",
"defaultValue": "all",
"required": true
},
{
"id": "paymentMethodTypes",
"type": "multiSelectOptionType",
"name": "paymentMethodTypes",
"required": true,
"helpTextResourceId": "paymentMethodsHelpText",
"labelResourceId": "paymentMethodsLabel",
"defaultValue": "external",
"displayAsCheckboxes": true,
"options": [
{
"id": "external",
"value": "external",
"labelResourceId": "externalLabel"
}
]
}
]
}
config/locales/en.json{
"resources": {
"titleLabel": "External Payment Gateway Config",
"descriptionLabel": "External Payment Gateway configuration.",
"paymentMethodsLabel": "Payment Methods",
"paymentMethodsHelpText": "Select the payment methods.",
"externalLabel": "External Payment",
"agentInstanceLabel": "Agent Configuration",
"previewInstanceLabel": "Preview Configuration",
"storefrontInstanceLabel": "Storefront Configuration",
"supportedCustomPropertiesHelpText": "Comma separated Custom Properties to be saved. Use 'all' to indicate all. Ensure not to include sensitive properties.",
"supportedCustomPropertiesLabel": "Supported Custom Properties"
}
} - 拡張子を管理インタフェースにアップロードします。
- ゲートウェイを必要とするサイトに対して有効にします。
-
オーダー・ペイロードに含める必要がある支払配列のサンプル・ペイロードは、次のとおりです。
{
"payments": [
{
"type": "external",
"externalSourceId": "xx4736",
"status": "AUTHORIZED",
"externalId": "{{externalId}}",
"externalType": "card",
"externalSubType": "visa",
"billTo": {
"partyId": "1006",
"customerAccountId": "1006",
"siteUseId": "1025"
},
"customProperties": {
"nameOnCard": "John",
"expiryMonth": "12",
"expiryYear": "2044",
"cardTokenNumber": "656857436556876",
"testProperty": "testVal",
"originalSystemPaymentReference": "ExternalPayment",
"externalSubType": "visa"
},
"billingAddress": {
"firstName": "Sage",
"lastName": "Wieser",
"country": "US",
"address3": "null",
"address2": "null",
"city": "CHATTANOOGA",
"address1": "301 Summit Hill Drive",
"postalCode": "37401",
"companyName": "Computer Service and Rentals",
"county": "Hamilton",
"siteId": "1034",
"setId": "204",
"state": "TN",
"id": "110018"
},
"seqNum": 0
}
]
}
ヒントと考慮事項
- この機能はRest APIでのみ使用できます。 小売業者は、この機能をストアフロントに実装するために、OSFでカスタム・ウィジェットを構築する必要があります。
- この機能は、マーチャントがOracle CPQとのネイティブ・オーダー統合を使用している場合にのみ使用できます。
- OCCでは、外部で処理された支払に対して無効または払戻は実行されません。これらはソース・システムで管理する必要があります。
- 外部システムが正しい支払ステータス(承認済/決済済)をペイロードに送信していることを確認します。
- カスタム・プロパティを使用して、ダウンストリーム統合(CPQなど)の支払データを拡張します。