Translation disclaimer

Documentation is written in English and subsequently translated. This page, therefore, might not have the most up-to-date content. If any questions arise relating to the accuracy of the translated content, please refer to the English version of the page.

Menu

CVC 验证

在处理客户的 CVC 之前对其进行验证。

开始

若要集成验证功能,您必须创建一个 AccessCheckoutCardValidationListener 的实施。在 CvcValidationConfig 中传入安卓 UI 元素,以便使用 AccessCheckoutValidationInitialiser 来初始化验证。

完整示例集成:您可以在此处查看 CVC 验证集成的示例。

实施 AccessCheckoutCvcValidationListener

若要接收您客户的 CVC 验证结果,您必须创建您自己的 AccessCheckoutCvcValidationListener 实施。

Copied!
package com.worldpay.access.checkout.sample.code

import com.worldpay.access.checkout.client.validation.listener.AccessCheckoutCvcValidationListener

class CvcValidationListener : AccessCheckoutCvcValidationListener {

    override fun onCvcValidated(isValid: Boolean) {
        //TODO: handle the cvc validation result
    }

    override fun onValidationSuccess() {
        //TODO: handle the form when the validation is complete i.e. all fields are valid
    }

}
package com.worldpay.access.checkout.sample.code

import com.worldpay.access.checkout.client.validation.listener.AccessCheckoutCvcValidationListener;

public class CvcValidationListener implements AccessCheckoutCvcValidationListener {

    @Override
    public void onCvcValidated(Boolean isValid) {
        //TODO: handle the cvc validation result
    }

    @Override
    public void onValidationSuccess() {
        //TODO: handle the form when the validation is complete i.e. all fields are valid
    }

}

功能和参数描述

方法描述
onCvcValidated该方法与 CVC 字段的有效性一起调用。 isValid 表示该字段是处于有效还是无效状态。
onValidationSuccess该方法在所有字段都处于有效状态时才调用。通常,您可以用它来启用提交按钮。

初始化 CVC 验证

在实施 AccessCheckoutCvcValidationListener 之后,您必须为视图初始化验证。为此,使用构造器来创建一个 CvcValidationConfig,如下所示。然后用它来初始化验证。

Copied!
package com.worldpay.access.checkout.sample.code

// android library imports omitted

import com.worldpay.access.checkout.client.validation.AccessCheckoutValidationInitialiser
import com.worldpay.access.checkout.client.validation.config.CvcValidationConfig

class MainActivity : AppCompatActivity() {

    // fields omitted

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        val cvc = findViewById<EditText>(R.id.cvc)

        // other view references omitted

        val cvcValidationListener = CvcValidationListener()

        val cvcValidationConfig = CvcValidationConfig.Builder()
                .cvc(cvc)
                .validationListener(cvcValidationListener)
                .lifecycleOwner(this)
                .build()

        AccessCheckoutValidationInitialiser.initialise(cvcValidationConfig)

        //TODO: generate session here
    }

}
package com.worldpay.access.checkout.sample.code

// android library imports omitted

import com.worldpay.access.checkout.client.validation.AccessCheckoutValidationInitialiser;
import com.worldpay.access.checkout.client.validation.config.CvcValidationConfig;
import com.worldpay.access.checkout.client.validation.listener.AccessCheckoutCvcValidationListener;

public class MainActivity extends AppCompatActivity {

    // fields omitted

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        EditText cvc = findViewById<EditText>(R.id.cvc);

        // other view references omitted

        AccessCheckoutCvcValidationListener cvcValidationListener = CvcValidationListener();

        CvcValidationConfig cvcValidationConfig = CvcValidationConfig.Builder()
                .cvc(cvc)
                .validationListener(cardValidationListener)
                .lifecycleOwner(this)
                .build();

        AccessCheckoutValidationInitialiser.initialise(cvcValidationConfig);

        //TODO: generate session here
    }

}


后续步骤


创建 CVC 会话