def METHOD_NAME(self):
    actual_signature = PaymentMethod.signature("create")
    expected_signature = [
        "billing_address_id",
        "cardholder_name",
        "customer_id",
        "cvv",
        "device_data",
        "expiration_date",
        "expiration_month",
        "expiration_year",
        "number",
        "payment_method_nonce",
        "paypal_refresh_token",
        "token",
        "device_session_id",
        {
            "billing_address": Address.create_signature()},
        {
            "options": [
                "fail_on_duplicate_payment_method",
                "make_default",
                "skip_advanced_fraud_checking",
                "us_bank_account_verification_method",
                "verification_account_type",
                "verification_amount",
                "verification_merchant_account_id",
                "verify_card",
                {
                    "adyen":[
                        "overwrite_brand",
                        "selected_brand"
                    ]
                },
                {
                    "paypal":[
                        "payee_email",
                        "order_id",
                        "custom_field",
                        "description",
                        "amount",
                        {
                            "shipping":[
                                "company",
                                "country_code_alpha2",
                                "country_code_alpha3",
                                "country_code_numeric",
                                "country_name",
                                "customer_id",
                                "extended_address",
                                "first_name",
                                "last_name",
                                "locality",
                                "phone_number",
                                "postal_code",
                                "region",
                                "street_address",
                            ]
                        },
                    ]
                },
            ]
        },
        {
            "three_d_secure_pass_thru": [
                "cavv",
                "ds_transaction_id",
                "eci_flag",
                "three_d_secure_version",
                "xid"
                ]
        },
    ]
    self.assertEqual(expected_signature, actual_signature)