# Payment instrument modified

Endpoint: POST payment-instrument-modified
Version: latest
Security: SecretApiKey, JWT

## Request fields (application/json):

  - `paymentInstrumentId` (string)
    ID of the payment instrument.
    Example: inst_0YVB8KPKNXCBR9EDX7JHSED75N

  - `eventType` (string)
    Type of event that triggered the webhook.
    Enum: "payment-instrument-modified"

  - `_embedded` (object)
    Embedded objects related to the payment instrument event.

  - `_embedded.paymentInstrument` (any)

  - `_embedded.paymentInstrument.customerId` (string)
    ID of the customer resource.
    Example: cus_0YV7DDSDD1C8DA64KHH2W33CPF

  - `_embedded.paymentInstrument.status` (string)
    Status of the payment instrument.
An `active` status means that a payment instrument has been used at least once for an approved transaction.
To remove an instrument from use, set this value to `deactivated`.
For more information, see [Deactivate a payment instrument](./PostPaymentInstrumentDeactivation).
    Enum: "active", "inactive", "expired", "deactivated", "verification-needed"

  - `_embedded.paymentInstrument.pan` (string)
    Primary Account Number (PAN) of the payment card.

  - `_embedded.paymentInstrument.expYear` (integer)
    Expiration year of the payment card.

  - `_embedded.paymentInstrument.expMonth` (integer)
    Expiration month of the payment card.

  - `_embedded.paymentInstrument.cvv` (string)
    Card Verification Value (CVV) of the payment card.

  - `_embedded.paymentInstrument.brand` (string)
    Brand of payment card.
    Enum: "Visa", "MasterCard", "American Express", "Discover", "Maestro", "Solo", "Electron", "JCB", "Voyager", "Diners Club", "Switch", "Laser", "China UnionPay", "AstroPay Card"

  - `_embedded.paymentInstrument.billingAddress` (object)
    Contact's information.

  - `_embedded.paymentInstrument.billingAddress.firstName` (string | null)
    Contact's first name.
    Example: Benjamin

  - `_embedded.paymentInstrument.billingAddress.lastName` (string | null)
    Contact's last name.
    Example: Franklin

  - `_embedded.paymentInstrument.billingAddress.organization` (string | null)
    Contact's organization.
    Example: Rebilly

  - `_embedded.paymentInstrument.billingAddress.address` (string | null)
    First line of the contact's street address.
    Example: 36 Craven St

  - `_embedded.paymentInstrument.billingAddress.address2` (string | null)
    Second line of the contact's street address.

  - `_embedded.paymentInstrument.billingAddress.city` (string | null)
    Contact's city of residence.
    Example: Austin

  - `_embedded.paymentInstrument.billingAddress.region` (string | null)
    Contact's region of residence.
    Example: Texas

  - `_embedded.paymentInstrument.billingAddress.country` (string | null)
    Contact's country of residence in ISO 3166 alpha-2 country code.
For examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).
    Example: GB

  - `_embedded.paymentInstrument.billingAddress.postalCode` (string | null)
    Contact's postal code.
    Example: WC2N 5NF

  - `_embedded.paymentInstrument.billingAddress.phoneNumbers` (array)
    List of phone numbers associated with the contact.

  - `_embedded.paymentInstrument.billingAddress.phoneNumbers.label` (string, required)
    Phone number label or name.
    Example: main

  - `_embedded.paymentInstrument.billingAddress.phoneNumbers.value` (string, required)
    Phone number value.
    Example: 1-512-777-0269

  - `_embedded.paymentInstrument.billingAddress.phoneNumbers.primary` (boolean)
    Specifies if the phone number is the contact's primary phone number.
    Example: true

  - `_embedded.paymentInstrument.billingAddress.emails` (array)
    List of email addresses associated with the contact.

  - `_embedded.paymentInstrument.billingAddress.emails.label` (string, required)
    Email label or name.
    Example: main

  - `_embedded.paymentInstrument.billingAddress.emails.value` (string, required)
    Email address value.
    Example: rebilly@example.com

  - `_embedded.paymentInstrument.billingAddress.emails.primary` (boolean)
    Specifies if the email address is the contact's primary email address.
    Example: true

  - `_embedded.paymentInstrument.billingAddress.dob` (string | null)
    Contact's date of birth in ISO-8601 `YYYY-MM-DD` format.
    Example: 1980-04-01

  - `_embedded.paymentInstrument.billingAddress.jobTitle` (string | null)
    Contact's job title.
    Example: CEO

  - `_embedded.paymentInstrument.useAsBackup` (boolean)
    Specifies if this payment instrument can be used as a backup for invoice payment retries.

  - `_embedded.paymentInstrument.customFields` (object)
    Use custom fields to extend a resource scheme to include custom data that is not provided as a common field.
For more information, see [Custom fields](https://www.rebilly.com/catalog/all/custom-fields).
    Example: {"foo":"bar"}

  - `_embedded.paymentInstrument.riskMetadata` (any)

  - `_embedded.paymentInstrument.riskMetadata.ipAddress` (string | null)
    Customer's IP address.
    Example: 93.92.91.90

  - `_embedded.paymentInstrument.riskMetadata.fingerprint` (string | null)
    Customer's device fingerprint.
A device fingerprint is a unique token that is used to identify the customer.
The device fingerprint is generated based on device attributes, such as: hardware,
software, IP address, language, browser, and more.
    Example: pIUt3xbgX3l9g3YDiLbx

  - `_embedded.paymentInstrument.riskMetadata.httpHeaders` (any)

  - `_embedded.paymentInstrument.riskMetadata.browserData` (object | null)
    Browser data used for 3D Secure and risk scoring.

  - `_embedded.paymentInstrument.riskMetadata.browserData.colorDepth` (integer, required)
    Browser color depth in bits per pixel.
This value is obtained using the `screen.colorDepth` property.
    Example: 24

  - `_embedded.paymentInstrument.riskMetadata.browserData.isJavaEnabled` (boolean, required)
    Specifies if Java is enabled in a browser.
This value is obtained from the `navigator.javaEnabled` property.

  - `_embedded.paymentInstrument.riskMetadata.browserData.language` (string, required)
    Browser language settings.
This value is obtained from the `navigator.language` property.
    Example: en-US

  - `_embedded.paymentInstrument.riskMetadata.browserData.screenWidth` (integer, required)
    Width of the browser screen.
This value is obtained from the `screen.width` property.
    Example: 1920

  - `_embedded.paymentInstrument.riskMetadata.browserData.screenHeight` (integer, required)
    Height of the browser screen.
This value is obtained from the `screen.height` property.
    Example: 1080

  - `_embedded.paymentInstrument.riskMetadata.browserData.timeZoneOffset` (integer, required)
    Browser time zone offset in minutes from UTC.
A positive offset indicates that the local time is behind UTC.
A negative offset indicates that the local time is ahead of UTC.
You can find this value using the `(new Date()).getTimezoneOffset()` property.
    Example: 300

  - `_embedded.paymentInstrument.riskMetadata.browserData.isAdBlockEnabled` (boolean)
    Specifies if the usage of ad block has been detected in the browser.

  - `_embedded.paymentInstrument.riskMetadata.extraData` (object | null)
    Third-party data used for risk scoring.

  - `_embedded.paymentInstrument.riskMetadata.extraData.kountFraudSessionId` (string)
    Alpha-numeric `fraudSessionId` as provided by the Kount SDK.
    Example: abcdefg12345abababab123456789012

  - `_embedded.paymentInstrument.riskMetadata.extraData.payPalMerchantSessionId` (string)
    PayPal `MerchantSessionID` as generated by the PayPal Fraudnet SDK.
    Example: dd65ratxc5qv15iph3vyoq7l6davuowa

  - `_embedded.paymentInstrument.riskMetadata.extraData.threatMetrixSessionId` (string)
    Temporary identifier that is unique to the visitor session and passed to ThreatMetrix.
    Example: dd65ratxc5qv15iph3vyoq7l6davuowadd65ratxc5qv15iph3vyoq7l6davuowa

  - `_embedded.paymentInstrument.bankName` (string)
    Name of the bank.

  - `_embedded.paymentInstrument.routingNumber` (string)
    Bank routing number.

  - `_embedded.paymentInstrument.accountNumberType` (string)
    Type of bank account number.
A valid value is a Basic Bank Account Number (BBAN) or an International Bank Account Number (IBAN).
    Enum: "BBAN", "IBAN"

  - `_embedded.paymentInstrument.accountType` (string)
    Type of bank account.
    Enum: "checking", "savings", "other"

  - `_embedded.paymentInstrument.bic` (string | null)
    Bank Identifier Code (BIC).

  - `_embedded.paymentInstrument.method` (string, required)
    Method of payment instrument.
    Enum: "paypal"

  - `_embedded.paymentInstrument.fingerprint` (string)
    Unique value which identifies the payment instrument.
This value contains alphanumeric characters.
This value is generated from the card number, CVV, and expiration date.

  - `_embedded.paymentInstrument.number` (string)
    Khelocard card masked number.

  - `_embedded.paymentInstrument.last4` (string)
    Last 4 digits of the number.

  - `_embedded.paymentInstrument.expYear` (integer)
    Khelocard card expiration year.

  - `_embedded.paymentInstrument.expMonth` (integer)
    Khelocard card expiration month.

  - `_embedded.paymentInstrument.status` (string)
    Payment instrument status.
    Enum: "active", "deactivated"

  - `_embedded.paymentInstrument.method` (string, required)
    Payment method of the payment instrument.
    Enum: "cash", "check", "paypal", "AdvCash", "Aera", "Affirm", "Afterpay", "Aircash", "Alfa-click", "Alipay", "AstroPay Card", "AstroPay-GO", "BankReferenced", "bank-transfer", "bank-transfer-2", "bank-transfer-3", "bank-transfer-4", "bank-transfer-5", "bank-transfer-6", "bank-transfer-7", "bank-transfer-8", "bank-transfer-9", "Baloto", "Beeline", "Belfius-direct-net", "bitcoin", "Bizum", "Boleto", "cash-deposit", "CASHlib", "CashToCode", "China UnionPay", "Clearpay", "Cleo", "CODVoucher", "Conekta-oxxo", "Cupon-de-pagos", "cryptocurrency", "domestic-cards", "Directa24Card", "echeck", "ecoPayz", "ecoPayzTurkey", "ecoVoucher", "Efecty", "EPS", "ePay.bg", "eZeeWallet", "FasterPay", "Flexepin", "Giropay", "Gpaysafe", "Google Pay", "iDebit", "iDEAL", "ING-homepay", "INOVAPAY-pin", "INOVAPAY-wallet", "InstaDebit", "instant-bank-transfer", "InstantPayments", "Interac", "Interac-online", "Interac-eTransfer", "invoice", "iWallet", "Jeton", "JetonCash", "jpay", "KakaoPay", "Khelocard", "Klarna", "KNOT", "loonie", "Matrix", "MaxiCash", "Megafon", "MercadoPago", "MiFinity-eWallet", "miscellaneous", "MobilePay", "Bancontact", "Bancontact-mobile", "MTS", "Mollie", "MuchBetter", "MuchBetterVoucher", "Multibanco", "Neosurf", "Netbanking", "Neteller", "Nordea-Solo", "OchaPay", "online-bank-transfer", "Onlineueberweisen", "oriental-wallet", "OXXO", "P24", "Pagadito", "PagoEffectivo", "Pagsmile-deposit-express", "Pagsmile-lottery", "PayCash", "Payco", "Payeer", "PaymentAsia-crypto", "Paymero", "Perfect-money", "Piastrix", "PIX", "plaid-account", "PayTabs", "Paysafecard", "Paysafecash", "Pay4Fun", "Paynote", "PinPay", "phone", "PhonePe", "POLi", "PostFinance-card", "PostFinance-e-finance", "QIWI", "QPay", "QQPay", "Quickpay", "rapyd-checkout", "Resurs", "SafetyPay", "Samsung Pay", "SEPA", "Skrill", "Skrill Rapid Transfer", "SMSVoucher", "Sofort", "SparkPay", "swift-dbt", "Tele2", "Terminaly-RF", "ToditoCash-card", "Trustly", "Tupay", "UPayCard", "UPI", "USD-coin", "VCreditos", "VegaWallet", "VenusPoint", "Viva", "voucher", "voucher-2", "voucher-3", "voucher-4", "Wallet88", "Webmoney", "Webpay", "Webpay-2", "Webpay Card", "WeChat Pay", "wire", "XPay-P2P", "XPay-QR", "Yandex-money", "Zotapay", "Zimpler", "Zip"

