---
title: "注文支払い(C#)の扱い"
slug: "work-with-order-payments--c--"
abstract: "支払いを追加したり、支払いを無効にしたり、返金したりする方法。"
---
# 注文支払い(C#)の扱い

Entity Views and Actions APIを使って、支払い関連のデータや運用を他のビジネスシステムと統合できます。

このトピックでは、以下の方法を説明します:

-   [注文に支払いを追加(C#)](https://doc.sitecore.com/xp/ja/developers/102/sitecore-experience-commerce/work-with-order-payments--c--.html#UUID-a18dd4a0-d47f-0489-ec7c-bb36261cc189_section-idm45837281904832 "Add a payment to an order (C#)")
-   [注文支払いを無効にする(C#)](https://doc.sitecore.com/xp/ja/developers/102/sitecore-experience-commerce/work-with-order-payments--c--.html#UUID-a18dd4a0-d47f-0489-ec7c-bb36261cc189_section-idm45837281682464 "Void an order payment (C#)")
-   [注文分の返金(C#)](https://doc.sitecore.com/xp/ja/developers/102/sitecore-experience-commerce/work-with-order-payments--c--.html#UUID-a18dd4a0-d47f-0489-ec7c-bb36261cc189_section-idm45837281138864 "Refund an order payment (C#)")

## 注文に支払いを追加(C#)

注文状況が *保留*中でも支払いを追加できます。

注文に支払いを追加するには、例えばギフトカードの支払いをC#で行う:

1.  例えば、ギフトカード支払いのギフトカードオプションを選択する場合:
    
    DataServiceQuerySingle<EntityView> query = container.GetEntityView($"Entity-Order-{orderId}", "OrderFulfillmentDetails", "SelectFulfillmentOption", string.Empty);
    EntityView view = Proxy.GetValue(query);
    var optionProperty = view.Properties.FirstOrDefault(p => p.Name.Equals("Option"));
    var availableOptionsPolicy = optionProperty.Policies.OfType<AvailableSelectionsPolicy>().FirstOrDefault();
    optionProperty.Value = availableOptionsPolicy?.List.FirstOrDefault(o => o.Name.Equals("GiftCard")).Name;
    CommerceCommand command = Proxy.DoCommand(container.DoAction(view));
    
2.  例えば、支払い金額とギフトカードの情報を提供してください:
    
    view = command.Models.OfType<EntityView>().FirstOrDefault(v => v.Name.Equals(view.Name));
    view.Properties.FirstOrDefault(p => p.Name.Equals("GiftCardCode")).Value = "GC1000000";
    view.Properties.FirstOrDefault(p => p.Name.Equals("Amount")).Value = "50";
    command = Proxy.DoCommand(container.DoAction(view));
## 注文支払いを無効にする(C#)

注文のステータスが *保留*中であれば、支払いを無効にすることができます。

C#を使って注文の支払いを無効にするには:

1.  例えば、アクションのエンティティビューを取得してください:
    
    DataServiceQuerySingle<EntityView> query = container.GetEntityView($"Entity-Order-{orderId}", string.Empty, "VoidPayment",
    paymentId);
    EntityView view = Proxy.GetValue(query);
    
2.  行動を実行する:
    
    CommerceCommand command = Proxy.DoCommand(container.DoAction(view));
## 注文分の返金(C#)

注文のステータスが *完了*したら返金できます。

C#を使って注文の支払いを返金するには:

1.  例えば、アクションのエンティティビューを取得してください:
    
    DataServiceQuerySingle<EntityView> query = container.GetEntityView($"Entity-Order-{orderId}", string.Empty, "RefundPayment",
    paymentId);
    EntityView view = Proxy.GetValue(query);
    
2.  行動を実行する:
    
    CommerceCommand command = Proxy.DoCommand(container.DoAction(view));