com.ingenico.connect.gateway.sdk.java.domain.payment.definitions.MerchantAction Maven / Gradle / Ivy
Show all versions of connect-sdk-java Show documentation
/*
* This class was auto-generated from the API references found at
* https://epayments-api.developer-ingenico.com/s2sapi/v1/
*/
package com.ingenico.connect.gateway.sdk.java.domain.payment.definitions;
import java.util.List;
import com.ingenico.connect.gateway.sdk.java.domain.definitions.KeyValuePair;
import com.ingenico.connect.gateway.sdk.java.domain.product.definitions.PaymentProductField;
public class MerchantAction {
private String actionType = null;
private List formFields = null;
private MobileThreeDSecureChallengeParameters mobileThreeDSecureChallengeParameters = null;
private RedirectData redirectData = null;
private String renderingData = null;
private List showData = null;
private ThirdPartyData thirdPartyData = null;
/**
* 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. Alternatively the instructions can be rendered by us using the instructionsRenderingData
*
- 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
*
*/
public String getActionType() {
return 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. Alternatively the instructions can be rendered by us using the instructionsRenderingData
*
- 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
*
*/
public void setActionType(String value) {
this.actionType = value;
}
/**
* 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.
*/
public List getFormFields() {
return 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.
*/
public void setFormFields(List value) {
this.formFields = value;
}
/**
* 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.
*/
public MobileThreeDSecureChallengeParameters getMobileThreeDSecureChallengeParameters() {
return 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.
*/
public void setMobileThreeDSecureChallengeParameters(MobileThreeDSecureChallengeParameters value) {
this.mobileThreeDSecureChallengeParameters = value;
}
/**
* Object containing all data needed to redirect the customer
*/
public RedirectData getRedirectData() {
return redirectData;
}
/**
* Object containing all data needed to redirect the customer
*/
public void setRedirectData(RedirectData value) {
this.redirectData = value;
}
/**
* 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")
*
* You can offer a link to a customer to see an instructions page for a payment done earlier. Because of the size of the instructionsRenderingData this will need to be set in a web form as a value of a hidden field. Before presenting the link you need to obtain a clientSessionId by creating a session using the S2S API. You will need to use the MyCheckout hosted payment pages domain hosted in the same region as the API domain used for the createClientSession call.
* 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.
*/
public String getRenderingData() {
return 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")
*
* You can offer a link to a customer to see an instructions page for a payment done earlier. Because of the size of the instructionsRenderingData this will need to be set in a web form as a value of a hidden field. Before presenting the link you need to obtain a clientSessionId by creating a session using the S2S API. You will need to use the MyCheckout hosted payment pages domain hosted in the same region as the API domain used for the createClientSession call.
* 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.
*/
public void setRenderingData(String value) {
this.renderingData = value;
}
/**
* 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.
*
*/
public List getShowData() {
return 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.
*
*/
public void setShowData(List value) {
this.showData = value;
}
/**
* 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.
*/
public ThirdPartyData getThirdPartyData() {
return 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.
*/
public void setThirdPartyData(ThirdPartyData value) {
this.thirdPartyData = value;
}
}