Loading
Agentforce 連絡中心
目錄
選取篩選

          沒有結果
          沒有結果
          以下是搜尋小祕訣

          檢查關鍵字的拼字。
          使用較常見的搜尋字詞。
          選取較少篩選條件以擴大您的搜尋。

          搜尋所有 Salesforce 說明
          Apex 類別的範例程式碼片段

          Apex 類別的範例程式碼片段

          使用這些 Apex 類別來定義 WhatsApp Pay 整合所需的參數。

          以下是您設定的範例 Apex 類別。

          • 付款總額
          • 付款條列項目
          • 訂單內容
          • 付款起始

          付款總額

          此類別會計算並提供客戶支付的總金額。這代表系統套用所有計算後的最終交易成本。

          付款總額
          付款總額
          
          public with sharing class GetPaymentTotal {
              
              @InvocableMethod
              public static List<Outputs> getPaymentTotal() {
                  Double amount = 0.25;
                  List<Outputs> result = new List<Outputs>();
                  RichMessaging.PaymentLineItem total = new RichMessaging.PaymentLineItem('total amount', amount);
          
                  total.amountValue = 1.5;
                  
                  Outputs o1 = new Outputs();
                  o1.paymentLineItem = total;
                  
                  result.add(o1);
                  return result;
              }
              
              public class Outputs {
                  @InvocableVariable
                  public RichMessaging.PaymentLineItem paymentLineItem;
              }
              
          }
          
           

          付款條列項目

          此類別會為客戶產生項目化收據。它會列出個別產品或服務 (例如披薩或麵包) 及其價格,以便買家可以直接在 WhatsApp 聊天中檢閱其手推車。

          付款條列項目
          付款條列項目
          public with sharing class GetPaymentLineItems {
              
              @InvocableMethod
              public static List<List<RichMessaging.PaymentLineItem>> getLineItems() {
                  Double amount = 0.25;
                  Double amount1 = 1.25;
                  List<List<RichMessaging.PaymentLineItem>> result = new List<List<RichMessaging.PaymentLineItem>>();
                  RichMessaging.PaymentLineItem pizza = new RichMessaging.PaymentLineItem('pizza', amount);
                  RichMessaging.PaymentLineItem pasta = new RichMessaging.PaymentLineItem('pasta', amount1);
                  pizza.statusValue = RichMessaging.PaymentItemStatus.FinalCost;
                  pasta.statusValue = RichMessaging.PaymentItemStatus.FinalCost;
                  
                  RichMessaging.OrderItemCommerceAttributes commerceAttrs = new RichMessaging.OrderItemCommerceAttributes();
                  commerceAttrs.retailerIdValue = 'retailed_id';
                  commerceAttrs.categoryValue = RichMessaging.OrderItemCategory.Product;
                  
                  pizza.commerceValue = commerceAttrs;
                  pasta.commerceValue = commerceAttrs;
                  
                  List<RichMessaging.PaymentLineItem> options = new List<RichMessaging.PaymentLineItem>{
                      pizza, pasta
                  };
                  result.add(options);
                  return result;
              }
              
          }
           

          訂單內容

          此類別會定義訂單的背景詳細資料和物流。它會作為「條款和條件」和「寄送標籤」,並提供必要的中繼資料,例如帳單和寄送地址、付款連結的到期時間,以及銷售的商品類型。

          訂單內容
          訂單內容
          public with sharing class GetOrderContext {
              
              @InvocableMethod
              public static List<OrderContextOutputs> getOrderContext() {
                  RichMessaging.OrderContext orderContext = new RichMessaging.OrderContext();
                  RichMessaging.OrderExpiration orderExpiration = new RichMessaging.OrderExpiration();
                  orderExpiration.description = 'Expiration Description';
                  orderExpiration.timestamp = 2342534536L;
                  orderContext.expiration = orderExpiration;
                  orderContext.catalogId = 'CAT-001';
                  orderContext.typeValue = RichMessaging.OrderType.DigitalGoods;
                  orderContext.checkoutBehaviorValue = RichMessaging.PaymentCheckoutBehavior.QuickPay;
                  orderContext.referenceId = 'REF-001';
                  List<RichMessaging.OrderBeneficiary> beneficiaries = new List<RichMessaging.OrderBeneficiary>();
                  RichMessaging.OrderBeneficiary beneficiaryA = new RichMessaging.OrderBeneficiary();
                  beneficiaryA.name = 'beneficiary Name A';
                  beneficiaryA.phone = 'beneficiary Phone A';
                  List<String> addressLinesA = new List<String>();
                  addressLinesA.add('Addresss Line 1');
                  addressLinesA.add('Addresss Line 2');
                  RichMessaging.Address addressA = new RichMessaging.Address();
                  addressA.addressLines = addressLinesA;
                  addressA.subLocality = 'subLocality A';
                  addressA.locality = 'locality A';
                  addressA.postalCode = '111111';
                  addressA.subAdministrativeArea = 'subAdministrativeArea A';
                  addressA.administrativeArea = 'administrativeArea A';
                  addressA.country = 'India';
                  addressA.countryCode = 'IN';
                  beneficiaryA.address = addressA;
                  RichMessaging.OrderBeneficiary beneficiaryB = new RichMessaging.OrderBeneficiary();
                  beneficiaryB.name = 'beneficiary Name B';
                  beneficiaryB.phone = 'beneficiary Phone B';
                  List<String> addressLinesB = new List<String>();
                  addressLinesB.add('Addresss Line 1');
                  addressLinesB.add('Addresss Line 2');
                  RichMessaging.Address addressB = new RichMessaging.Address();
                  addressB.addressLines = addressLinesB;
                  addressB.subLocality = 'subLocality B';
                  addressB.locality = 'locality B';
                  addressB.postalCode = '222222';
                  addressB.subAdministrativeArea = 'subAdministrativeArea B';
                  addressB.administrativeArea = 'administrativeArea B';
                  addressB.country = 'India';
                  addressB.countryCode = 'IN';
                  beneficiaryB.address = addressB;
                  beneficiaries.add(beneficiaryA);
                  beneficiaries.add(beneficiaryB);
                  orderContext.beneficiaries = beneficiaries;
                  OrderContextOutputs output = new OrderContextOutputs();
                  output.orderContext = orderContext;
                  List<OrderContextOutputs> result = new List<OrderContextOutputs>();
                  result.add(output);
                  return result;
              }
              public class OrderContextOutputs {
                  @InvocableVariable
                  public RichMessaging.OrderContext orderContext;
              }
          }
           

          付款起始

          此類別會設定客戶付款的方式。它會指定批准的付款方法,例如 PIX 或 Boleto,並提供處理交易所需的基本路由代碼和帳戶金鑰。

          付款起始
          付款起始
          public class GetPaymentInitiations {
              @InvocableMethod
              public static List<List<RichMessaging.PaymentInitiation>> getPaymentInitiation() {
                  List<List<RichMessaging.PaymentInitiation>> result = new List<List<RichMessaging.PaymentInitiation>>();
                  RichMessaging.PaymentInitiation pixPaymentInitiation = new RichMessaging.PaymentInitiation();
                  pixPaymentInitiation.modeValue = RichMessaging.PaymentInitiationMode.ExternalPaymentApp;
                  RichMessaging.PaymentInitiationPix pixValue = new RichMessaging.PaymentInitiationPix();
                  pixValue.keyValue = '12345678901';
                  pixValue.keyTypeValue = RichMessaging.PaymentPixKeyType.Cpf;
                  pixValue.codeValue = '12345678901';
                  pixPaymentInitiation.pix = pixValue;
                  RichMessaging.PaymentInitiation boletoPaymentInitiation = new RichMessaging.PaymentInitiation();
                  boletoPaymentInitiation.modeValue = RichMessaging.PaymentInitiationMode.ExternalPaymentApp;
                  RichMessaging.PaymentInitiationBoleto boletoValue = new RichMessaging.PaymentInitiationBoleto();
                  boletoValue.digitableLine = '03399026944140000002628346101018898510000008848';
                  boletoPaymentInitiation.boleto = boletoValue;
                  List<RichMessaging.PaymentInitiation> options = new List<RichMessaging.PaymentInitiation>{
                      pixPaymentInitiation, boletoPaymentInitiation
                  };
                  result.add(options);
                  return result;
              }
          }
           
           
          正在載入
          Salesforce Help | Article