Note: This release is in preview. Features described here don’t become generally available until the latest general availability date that Salesforce announces for this release. Before then, and where features are noted as beta, pilot, or developer preview, we can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.
PayClaimCoveragePaymentDetail(claimId, coverageId, paymentDetailId)
API Version
65.0
Requires Chatter
No
Signature
public static ConnectApi.PayClaimCoveragePaymentDetailRep PayClaimCoveragePaymentDetail(String claimId, String coverageId, String paymentDetailId)
Parameters
- claimId
- Type: String
- ID of the claim.
- coverageId
- Type: String
- ID of the claim coverage.
- paymentDetailId
- Type: String
- ID of the claim coverage payment detail to process.
Return Value
Example
Use the PayClaimCoveragePaymentDetailCallable Apex class to trigger payment for a claim coverage payment detail record in an insurance claim. This class serves as an Apex wrapper for the Connect API endpoint: /connect/insurance/claims/{claimId}/coverages/{coverageId}/payment-details/{paymentDetailId}/pay. You can use this method to automate payment operations directly from Apex.
- Class Definition
-
1 2public with sharing class PayClaimCoveragePaymentDetailCallable implements System.Callable { 3 4 public Object call(String action, Map<String, Object> args) { 5 // Retrieve the input and output maps from the arguments 6 Map<String, Object> inputMap = (Map<String, Object>) args.get('input'); 7 Map<String, Object> outputMap = (Map<String, Object>) args.get('output'); 8 9 // Check the action type 10 if (action == 'payClaimCoveragePaymentDetail') { 11 // Retrieve the required parameters from the input map 12 String claimId = (String) inputMap.get('claimId'); 13 String claimCoverageId = (String) inputMap.get('claimCoverageId'); 14 String claimCoveragePaymentDetailId = (String) inputMap.get('claimCoveragePaymentDetailId'); 15 16 System.debug('Start of connect API call to pay claim coverage payment detail'); 17 System.debug('Claim ID: ' + claimId); 18 System.debug('Claim Coverage ID: ' + claimCoverageId); 19 System.debug('Claim Coverage Payment Detail ID: ' + claimCoveragePaymentDetailId); 20 21 // Initialize the output representation 22 ConnectApi.PayClaimCoveragePaymentDetailRep paymentDetailData; 23 24 // Call the Connect API to pay claim coverage payment detail 25 try { 26 // Call the Connect API resource directly using the correct method signature 27 // The endpoint is: /connect/insurance/claims/${claimId}/coverages/${coverageId}/payment-details/${paymentDetailId}/pay 28 paymentDetailData = ConnectApi.InsuranceClaimFamily.payClaimCoveragePaymentDetail( 29 claimId, 30 claimCoverageId, 31 claimCoveragePaymentDetailId 32 ); 33 34 System.debug('Claim coverage payment detail paid successfully: ' + paymentDetailData); 35 36 // Put the payment detail data in the output map 37 outputMap.put('paymentDetailData', paymentDetailData); 38 outputMap.put('isPaid', paymentDetailData.isSuccess); 39 40 // Check if there are any errors 41 if (paymentDetailData.errors != null && !paymentDetailData.errors.isEmpty()) { 42 outputMap.put('errors', paymentDetailData.errors); 43 System.debug('Errors found: ' + paymentDetailData.errors); 44 } 45 } 46 catch (Exception e) { 47 System.debug('Error while paying claim coverage payment detail: ' + e.getMessage()); 48 outputMap.put('error', e.getMessage()); 49 outputMap.put('isPaid', false); 50 } 51 52 // Return the payment detail data 53 return paymentDetailData; 54 } 55 56 // If the action is not recognized, return null 57 return null; 58 } 59} 60// Usage Example: 61PayClaimCoveragePaymentDetailCallable callable = new PayClaimCoveragePaymentDetailCallable(); 62// Prepare the input arguments 63Map<String, Object> input = new Map<String, Object>(); 64// Set the required parameters 65input.put('claimId', '0Zkxx000000002ZCAQ'); // Claim ID 66input.put('claimCoverageId', '0kPxx000000000cEAA'); // Claim Coverage ID 67input.put('claimCoveragePaymentDetailId', '0l2xx000000002cAAA'); // Claim Coverage Payment Detail ID 68// Prepare the output map 69Map<String, Object> output = new Map<String, Object>(); 70// Prepare the args map 71Map<String, Object> args = new Map<String, Object>(); 72args.put('input', input); 73args.put('output', output); 74// Call the 'payClaimCoveragePaymentDetail' action 75Object result = callable.call('payClaimCoveragePaymentDetail', args); 76// Check the result 77if (result != null) { 78 System.debug('Claim coverage payment detail processed successfully: ' + result); 79 80 // Access the processed payment detail data 81 ConnectApi.PayClaimCoveragePaymentDetailRep paymentDetailData = 82 (ConnectApi.PayClaimCoveragePaymentDetailRep) result; 83 84 // Process the result as needed 85 System.debug('Payment Detail Data: ' + paymentDetailData); 86 87 // Check if the payment was successful 88 if (paymentDetailData.isSuccess) { 89 System.debug('Payment was successful'); 90 } else { 91 System.debug('Payment failed'); 92 if (paymentDetailData.errors != null) { 93 System.debug('Error details: ' + paymentDetailData.errors); 94 } 95 } 96} else { 97 System.debug('Error occurred: ' + output.get('error')); 98} - Usage Example
-
1PayClaimCoveragePaymentDetailCallable callable = new PayClaimCoveragePaymentDetailCallable(); 2// Prepare the input arguments 3Map<String, Object> input = new Map<String, Object>(); 4// Set the required parameters 5input.put('claimId', '0Zkxx000000002ZCAQ'); // Claim ID 6input.put('claimCoverageId', '0kPxx000000000cEAA'); // Claim Coverage ID 7input.put('claimCoveragePaymentDetailId', '0l2xx000000002cAAA'); // Claim Coverage Payment Detail ID 8// Prepare the output map 9Map<String, Object> output = new Map<String, Object>(); 10// Prepare the args map 11Map<String, Object> args = new Map<String, Object>(); 12args.put('input', input); 13args.put('output', output); 14// Call the 'payClaimCoveragePaymentDetail' action 15Object result = callable.call('payClaimCoveragePaymentDetail', args); 16// Check the result 17if (result != null) { 18 System.debug('Claim coverage payment detail processed successfully: ' + result); 19 20 // Access the processed payment detail data 21 ConnectApi.PayClaimCoveragePaymentDetailRep paymentDetailData = 22 (ConnectApi.PayClaimCoveragePaymentDetailRep) result; 23 24 // Process the result as needed 25 System.debug('Payment Detail Data: ' + paymentDetailData); 26 27 // Check if the payment was successful 28 if (paymentDetailData.isSuccess) { 29 System.debug('Payment was successful'); 30 } else { 31 System.debug('Payment failed'); 32 if (paymentDetailData.errors != null) { 33 System.debug('Error details: ' + paymentDetailData.errors); 34 } 35 } 36} else { 37 System.debug('Error occurred: ' + output.get('error')); 38}