Loading
Gerenciamento de pedido do Salesforce
Configurar um gateway de pagamento para RMA de trocas (somente B2C)

Configurar um gateway de pagamento para RMA de trocas (somente B2C)

Se você não usa os Pagamentos do Salesforce, é possível configurar um gateway de pagamento para gerenciar pagamentos. Os pacotes de pagamento de alguns fornecedores estão disponíveis no AppExchange.

Edições obrigatórias

Importante
Importante Se você estiver usando trocas com o B2B ou o D2C Commerce, as etapas 1 a 4 já estarão configuradas durante a implementação do Gerenciamento de pedidos. Vá diretamente para a etapa 5.
  1. Crie uma classe de adaptador de gateway de pagamento usando a estrutura de conector do Salesforce Apex.
    Para ajudar você a começar, consulte estas classes de referência.
  2. Crie um registro de provedor de gateway de pagamento que aponte para a classe do adaptador que você criou.
  3. Em Configuração, defina uma credencial nomeada que contenha as informações de login e autenticação do provedor do gateway. A definição de chamada da classe do adaptador solicita a credencial nomeada.
  4. Vincule o registro do provedor de gateway de pagamento e a credencial nomeada criando um registro de gateway de pagamento.
  5. Associe o gateway de pagamento ao registro da loja da Web.
Exemplo
Exemplo

Para associar o gateway de pagamento ao registro da loja da Web, use um script como este

// Script to add a connection between the web store and the payment gateway for B2C Commerce stores
String webStoreName = 'SiteGenesis';
String paymentGatewayName = 'SalesforceAdapter';

// obtain webstoreid
List<WebStore> webstores = [SELECT Id, Name FROM WebStore WHERE Name = :webStoreName];
System.debug('Webstores: ' + webstores);
if(webstores.isEmpty()){
    System.debug('Error obtaining webstore with name ' + webStoreName);
}
String webStoreId = webstores[0].Id;
System.debug('WebStoreId: ' + webStoreId);

// obtain payment gateway id from the payment gateway name
List<PaymentGateway> paymentGateways = [SELECT Id, PaymentGatewayName FROM PaymentGateway WHERE PaymentGatewayName = :paymentGatewayName];
System.debug('paymentGateways: ' + paymentGateways);
if(paymentGateways.isEmpty()){
    System.debug('Error obtaining payment gateway with name ' + paymentGatewayName);
}
String paymentGatewayId = paymentGateways[0].Id;
System.debug('paymentGatewayId: ' + paymentGatewayId);

// If a StoreIntegratedService already exists for Payment on the WebStore then update the Integration field with the paymentGatewayId
List<StoreIntegratedService> storeServices = [SELECT Id FROM StoreIntegratedService WHERE StoreId = :webStoreId AND ServiceProviderType ='Payment' ];
System.debug('storeServices: ' + storeServices);
if(storeServices.isEmpty()){
    StoreIntegratedService storeService = new StoreIntegratedService(
        StoreId = webStoreId,
        Integration = paymentGatewayId,
        ServiceProviderType ='Payment');
    insert storeService;
} else {
    StoreIntegratedService existingStoreService = storeServices[0];
    existingStoreService.Integration = paymentGatewayId;
    update existingStoreService;
}
 
Carregando
Salesforce Help | Article