Class MerchantAction
Inherited Members
Namespace: Ingenico.Connect.Sdk.Domain.Payment.Definitions
Assembly: connect-sdk-dotnet.dll
Syntax
public class MerchantAction
Properties
ActionType
Action merchants needs to take in the online payment process. Possible values are:
- REDIRECT - The customer needs to be redirected using the details found in redirectData
- SHOW_FORM - The customer needs to be shown a form with the fields found in formFields. You can submit the data entered by the user in a
Complete payment request. Additionally:
- for payment product 3012 (Bancontact), to support payments via the Bancontact app, showData contains a QR code and URL intent.
- for payment product 863 (WeChat Pay), to support payments via the WeChat app, showData contains a QR code, URL intent, or signature and nonce combination. The showData property describes when each of these values can be returned.
Note that WeChat Pay does not support completing payments.
- SHOW_INSTRUCTIONS - The customer needs to be shown payment instruction using the details found in showData. Alternatively the instructions can be rendered by us using the instructionsRenderingData
- SHOW_TRANSACTION_RESULTS - The customer needs to be shown the transaction results using the details found in showData
- MOBILE_THREEDS_CHALLENGE - The customer needs to complete a challenge as part of the 3D Secure authentication inside your mobile app. The details contained in mobileThreeDSecureChallengeParameters need to be provided to the EMVco certified Mobile SDK as a challengeParameters object.
- CALL_THIRD_PARTY - The merchant needs to call a third party using the data found in thirdPartyData
Declaration
public string ActionType { get; set; }
Property Value
Type | Description |
---|---|
string |
FormFields
Populated only when the actionType of the merchantAction is SHOW_FORM. In this case, this property contains the list of fields to render, in the format that is also used in the response of Get payment product.
Declaration
public IList<PaymentProductField> FormFields { get; set; }
Property Value
Type | Description |
---|---|
IList<PaymentProductField> |
MobileThreeDSecureChallengeParameters
Populated only when the actionType of the merchantAction is MOBILE_THREEDS_CHALLENGE. In this case, this object contains the list of properties to provide to the EMVco certified Mobile SDK as a challengeParameters object.
Declaration
public MobileThreeDSecureChallengeParameters MobileThreeDSecureChallengeParameters { get; set; }
Property Value
Type | Description |
---|---|
MobileThreeDSecureChallengeParameters |
RedirectData
Object containing all data needed to redirect the customer
Declaration
public RedirectData RedirectData { get; set; }
Property Value
Type | Description |
---|---|
RedirectData |
RenderingData
This property contains the blob with data for the instructions rendering service.
This service will be available at the following endpoint: http(s)://{{merchant specific subdomain}}.{{base MyCheckout hosted payment pages domain}}/instructions/{{merchantId}}/{{clientSessionId}}
This instructions page rendering service accepts the following parameters:
- instructionsRenderingData (required, the content of this property)
- locale (optional, if present overrides default locale, e.g. "en_GB")
- variant (optional, code of a variant, if present overrides default variant, e.g. "100")
- customerId (required for Pix, otherwise optional, the customerId from a client session)
The instructionsRenderingData is a String blob that is presented to you via the Server API as part of the merchantAction (if available, and non-redirect) in the JSON return values for the createPayment call or the getHostedCheckoutStatus call (merchantAction inside createdPaymentOutput when available). You are responsible to store the instructionsRenderingData blob in order to be able to present the instructions page at a later time, when this information might no longer be available through Server API calls.
Declaration
public string RenderingData { get; set; }
Property Value
Type | Description |
---|---|
string |
ShowData
This is returned for the SHOW_INSTRUCTION, the SHOW_TRANSACTION_RESULTS and the SHOW_FORM actionType.
When returned for SHOW_TRANSACTION_RESULTS or SHOW_FORM, this contains an array of key value pairs of data that needs to be shown to the customer.
Note: The returned value for the key BARCODE is a base64 encoded gif image. By prepending 'data:image/gif;base64,' this value can be used as the source of an HTML inline image.
For SHOW_FORM, for payment product 3012 (Bancontact), this contains a QR code and a URL intent that can be used to complete the payment in the Bancontact app.
In this case, the key QRCODE contains a base64 encoded PNG image. By prepending 'data:image/png;base64,' this value can be used as the source of an HTML inline image on a desktop or tablet (intended to be scanned by an Android device with the Bancontact app). The key URLINTENT contains a URL intent that can be used as the link of an 'open the app' button on an Android device.
For SHOW_FORM, for payment product 863 (WeChat Pay), this contains the PaymentId that WeChat has assigned to the payment. In this case, the key WECHAT_PAYMENTID contains this PaymentId. In addition, this can contain different values depending on the integration type:
- desktopQRCode - contains a QR code that can be used to complete the payment in the WeChat app. In this case, the key QRCODE contains a base64 encoded PNG image. By prepending 'data:image/png;base64,' this value can be used as the source of an HTML inline image on a desktop or tablet (intended to be scanned by a mobile device with the WeChat app).
- urlIntent - contains a URL intent that can be used to complete the payment in the WeChat app. In this case, the key URLINTENT contains a URL intent that can be used as the link of an 'open the app' button on a mobile device.
Declaration
public IList<KeyValuePair> ShowData { get; set; }
Property Value
Type | Description |
---|---|
IList<KeyValuePair> |
ThirdPartyData
This is returned for the CALL_THIRD_PARTY actionType.
The payment product specific field of the payment product used for the payment will be populated with the third party data that should be used when calling the third party.
Declaration
public ThirdPartyData ThirdPartyData { get; set; }
Property Value
Type | Description |
---|---|
ThirdPartyData |