Vous êtes ici :
Paiements Salesforce pour les échanges avec RMA
Si un échange nécessite des fonds supplémentaires, utilisez Paiements Salesforce pour facturer et accepter ces fonds de façon transparente.
Éditions requises
| Afficher les éditions prises en charge. |
Paiements Salesforce peut fonctionner avec Exchanges RMA en utilisant B2C, B2B ou D2C Commerce.
Les passerelles de paiement Salesforce ne sont pas automatiquement affichées en tant qu’intégrations disponibles. Par conséquent, une étape supplémentaire est nécessaire pour utiliser Exchanges RMA au nom de boutiques B2B et D2C avec Paiements Salesforce.
Configurez un fournisseur alternatif dans la page Paiements. Ce fournisseur alternatif doit être une passerelle de carte de crédit créée par Paiements Salesforce. Pour configurer StoreIntegratedService pour Paiements Salesforce, exécutez ce script. Utilisez le nom de votre boutique Web et le nom du compte marchand pour la passerelle de paiement.
// Script to add a connection between the webstore and the payment gateway for stores using
// Salesforce Payments (SFP) as the payment gateway for SFP does not show in the the Payment
// Alternate Integration.
String merchantAccountName = 'DemoTest';
String webStoreName = 'B2B Store';
// 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 merchant account
List<MerchAccPaymentMethodSet> merchAccPaymentMethodSet = [SELECT Id, MerchantAccountId, DeveloperName FROM MerchAccPaymentMethodSet WHERE MerchantAccount.Name = :merchantAccountName];
System.debug('Details: ' + merchAccPaymentMethodSet);
if(merchAccPaymentMethodSet.isEmpty()){
System.debug('Error obtaining MerchAccPaymentMethodSet with name ' + merchantAccountName);
}
String merchantAccountId = merchAccPaymentMethodSet[0].MerchantAccountId;
System.debug('merchantAccountId: ' + merchantAccountId);
// obtain payment gateway id from the merchant account
List<PaymentGateway> paymentGateways = [SELECT Id, PaymentGatewayName FROM PaymentGateway WHERE MerchantAccountId = :merchantAccountId];
System.debug('paymentGateways: ' + paymentGateways);
if(paymentGateways.isEmpty()){
System.debug('Error obtaining payment gateway with merchant account id ' + merchantAccountId);
}
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;
}

