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.
AuthorizationRequest Class
Namespace
Usage
Example
Creating a buildAuthRequest class to store information about the authorization request.
1private String buildAuthRequest(commercepayments.AuthorizationRequest authRequest) {
2 // Multiply amount by 100.0 to convert to cents
3 String requestBody = createRequestBody(String.ValueOf((authRequest.amount*100.0).intValue()), authRequest);
4 return requestBody;
5
6 private String createRequestBody(String amount, commercepayments.AuthorizationRequest authRequest) {
7 JSONGenerator jsonGeneratorInstance = JSON.createGenerator(true);
8 String currencyIso = authRequest.currencyIsoCode;
9 commercepayments.AuthApiPaymentMethodRequest paymentMethod = authRequest.paymentMethod;
10 commercepayments.GatewayErrorResponse error;
11 // Write data to the JSON string.
12 jsonGeneratorInstance.writeStartObject();
13 jsonGeneratorInstance.writeStringField('merchantAccount', '{!$Credential.Username}');
14 jsonGeneratorInstance.writeStringField('reference', authRequest.comments == null ? 'randomstring' : authRequest.comments);
15
16 if(currencyIso == null) {
17 currencyIso = UserInfo.getDefaultCurrency();
18 }
19
20 jsonGeneratorInstance.writeFieldName('amount');
21 jsonGeneratorInstance.writeStartObject();
22 jsonGeneratorInstance.writeStringField('value', amount);
23 jsonGeneratorInstance.writeStringField('currency', currencyIso);
24 jsonGeneratorInstance.writeEndObject();
25
26 commercepayments.CardPaymentMethodRequest cardPaymentMethod;
27 if(paymentMethod != null) {
28 cardPaymentMethod = paymentMethod.cardPaymentMethod;
29 if (cardPaymentMethod != null) {
30 if (cardPaymentMethod.CardCategory != null) {
31 if (commercepayments.CardCategory.CreditCard == cardPaymentMethod.CardCategory) {
32 jsonGeneratorInstance.writeFieldName('card');
33 jsonGeneratorInstance.writeStartObject();
34 if (cardPaymentMethod.cvv != null)
35 jsonGeneratorInstance.writeStringField('cvc', String.ValueOf(cardPaymentMethod.cvv));
36 if (cardPaymentMethod.cardholdername != null)
37 jsonGeneratorInstance.writeStringField('holderName', cardPaymentMethod.cardholdername);
38 if (cardPaymentMethod.cardnumber != null)
39 jsonGeneratorInstance.writeStringField('number', cardPaymentMethod.cardnumber);
40 if (cardPaymentMethod.expiryMonth != null && cardPaymentMethod.expiryYear != null ) {
41 String expMonth = ((String.ValueOf(cardPaymentMethod.expiryMonth)).length() == 1 ? '0' : '') + String.ValueOf(cardPaymentMethod.expiryMonth);
42 jsonGeneratorInstance.writeStringField('expiryMonth', expMonth);
43 jsonGeneratorInstance.writeStringField('expiryYear', String.ValueOf(cardPaymentMethod.expiryYear));
44 }
45 jsonGeneratorInstance.writeEndObject();
46 } else {
47 //Support for other card type
48 }
49 } else {
50 throw new SampleValidationException('Required Field Missing : CardCategory');
51 }
52 } else {
53 throw new SampleValidationException('Required Field Missing : CardPaymentMethod');
54 }
55 } else {
56 throw new SampleValidationException('Required Field Missing : PaymentMethod');
57 }
58 jsonGeneratorInstance.writeEndObject();
59 return jsonGeneratorInstance.getAsString();
60 }AuthorizationRequest Constructors
The following are constructors for AuthorizationRequest.
AuthorizationRequest(amount)
Signature
global AuthorizationRequest(Double amount)
Parameters
-
amount:
Type: Double
The amount of the authorization.
AuthorizationRequest Properties
The following are properties for AuthorizationRequest.
paymentMethodData
This field is populated when AuthorizationInput specifies a saved payment method. Accessible using paymentMethodData on AuthorizationRequest. The map contains these fields from SavedPaymentMethod: GatewayToken, Type, GatewayReference, and StandardEntryCode for direct gateway interaction without querying the database. This field is supported only for saved payment methods of type card.
Signature
public Map<String,String> paymentMethodData {get; set;}
AuthorizationRequest Methods
The following are methods for AuthorizationRequest.
equals(obj)
Signature
global Boolean equals(Object obj)
Parameters
-
obj:
Type:
Object External object whose key is to be validated.
Return Value
Type: Boolean
hashCode()
Signature
global Integer hashCode()
Return Value
Type: Integer