|
| 1 | +<?php |
| 2 | + |
| 3 | +class a |
| 4 | +{ |
| 5 | + /** |
| 6 | + * @param array<mixed> $labels |
| 7 | + */ |
| 8 | + public function b(array $labels, stdClass $payment): bool |
| 9 | + { |
| 10 | + $fullData = ' |
| 11 | + { |
| 12 | + "additionalData": { |
| 13 | + "acquirerAccountCode": "TestPmmAcquirerAccount", |
| 14 | + "authorisationMid": "1009", |
| 15 | + "cvcResult": "1 Matches", |
| 16 | + "avsResult": "4 AVS not supported for this card type", |
| 17 | + "authCode": "25595", |
| 18 | + "acquirerReference": "acquirerReference", |
| 19 | + "expiryDate": "8/2018", |
| 20 | + "avsResultRaw": "Y", |
| 21 | + "cvcResultRaw": "M", |
| 22 | + "refusalReasonRaw": "00 : Approved or completed successfully", |
| 23 | + "refusalCodeRaw": "00", |
| 24 | + "acquirerCode": "TestPmmAcquirer", |
| 25 | + "inferredRefusalReason": "3D Secure Mandated", |
| 26 | + "networkTxReference": "MCC123456789012", |
| 27 | + "cardHolderName": "Test Cardholder", |
| 28 | + "issuerCountry": "NL", |
| 29 | + "countryCode": "NL", |
| 30 | + "cardBin": "411111", |
| 31 | + "issuerBin": "41111101", |
| 32 | + "cardSchemeCommercial": "true", |
| 33 | + "cardPaymentMethod": "visa", |
| 34 | + "cardIssuingBank": "Bank of America", |
| 35 | + "cardIssuingCountry": "US", |
| 36 | + "cardIssuingCurrency": "USD", |
| 37 | + "fundingSource": "PREPAID_RELOADABLE", |
| 38 | + "cardSummary": "1111", |
| 39 | + "isCardCommercial": "true", |
| 40 | + "paymentMethodVariant": "visadebit", |
| 41 | + "paymentMethod": "visa", |
| 42 | + "coBrandedWith": "visa", |
| 43 | + "businessTypeIdentifier": "PP", |
| 44 | + "cardProductId": "P", |
| 45 | + "bankSummary": "1111", |
| 46 | + "bankAccount.ownerName": "A. Klaassen", |
| 47 | + "bankAccount.iban": "NL13TEST0123456789", |
| 48 | + "cavv": "AQIDBAUGBw", |
| 49 | + "xid": "ODgxNDc2MDg2", |
| 50 | + "cavvAlgorithm": "3", |
| 51 | + "eci": "02", |
| 52 | + "dsTransID": "f8062b92-66e9-4c5a-979a-f465e66a6e48", |
| 53 | + "threeDSVersion": "2.1.0", |
| 54 | + "threeDAuthenticatedResponse": "Y", |
| 55 | + "liabilityShift": "true", |
| 56 | + "threeDOffered": "true", |
| 57 | + "threeDAuthenticated": "false", |
| 58 | + "challengeCancel": "01", |
| 59 | + "fraudResultType": "FRAUD", |
| 60 | + "fraudManualReview": "false" |
| 61 | + }, |
| 62 | + "fraudResult": { |
| 63 | + "accountScore": 10, |
| 64 | + "result": { |
| 65 | + "fraudCheckResult": { |
| 66 | + "accountScore": "10", |
| 67 | + "checkId": "26", |
| 68 | + "name": "ShopperEmailRefCheck" |
| 69 | + } |
| 70 | + } |
| 71 | + }, |
| 72 | + "response": "[cancelOrRefund-received]" |
| 73 | + }'; |
| 74 | + |
| 75 | + $result = json_decode($fullData, true); |
| 76 | + |
| 77 | + $r = $labels['result_code'] === '' |
| 78 | + && $labels['merchant_reference'] === $payment->merchant_reference |
| 79 | + && $labels['brand_code'] === $payment->brand_code |
| 80 | + && $labels['acquirer_account_code'] === $result['additionalData']['acquirerAccountCode'] |
| 81 | + && $labels['authorisation_mid'] === $result['additionalData']['authorisationMid'] |
| 82 | + && $labels['cvc_result'] === $result['additionalData']['cvcResult'] |
| 83 | + && $labels['auth_code'] === $result['additionalData']['authCode'] |
| 84 | + && $labels['acquirer_reference'] === $result['additionalData']['acquirerReference'] |
| 85 | + && $labels['expiry_date'] === $result['additionalData']['expiryDate'] |
| 86 | + && $labels['avs_result_raw'] === $result['additionalData']['avsResultRaw'] |
| 87 | + && $labels['cvc_result_raw'] === $result['additionalData']['cvcResultRaw'] |
| 88 | + && $labels['acquirer_code'] === $result['additionalData']['acquirerCode'] |
| 89 | + && $labels['inferred_refusal_reason'] === $result['additionalData']['inferredRefusalReason'] |
| 90 | + && $labels['network_tx_reference'] === $result['additionalData']['networkTxReference'] |
| 91 | + && $labels['issuer_country'] === $result['additionalData']['issuerCountry'] |
| 92 | + && $labels['country_code'] === $result['additionalData']['countryCode'] |
| 93 | + && $labels['card_bin'] === $result['additionalData']['cardBin'] |
| 94 | + && $labels['issuer_bin'] === $result['additionalData']['issuerBin'] |
| 95 | + && $labels['card_scheme_commercial'] === $result['additionalData']['cardSchemeCommercial'] |
| 96 | + && $labels['card_payment_method'] === $result['additionalData']['cardPaymentMethod'] |
| 97 | + && $labels['card_issuing_bank'] === $result['additionalData']['cardIssuingBank'] |
| 98 | + && $labels['card_issuing_country'] === $result['additionalData']['cardIssuingCountry'] |
| 99 | + && $labels['card_issuing_currency'] === $result['additionalData']['cardIssuingCurrency'] |
| 100 | + && $labels['card_summary'] === $result['additionalData']['cardSummary'] |
| 101 | + && $labels['payment_method_variant'] === $result['additionalData']['paymentMethodVariant'] |
| 102 | + && $labels['payment_method'] === $result['additionalData']['paymentMethod'] |
| 103 | + && $labels['co_branded_with'] === $result['additionalData']['coBrandedWith'] |
| 104 | + && $labels['business_type_identifier'] === $result['additionalData']['businessTypeIdentifier'] |
| 105 | + && $labels['card_product_id'] === $result['additionalData']['cardProductId'] |
| 106 | + && $labels['bank_summary'] === $result['additionalData']['bankSummary'] |
| 107 | + && $labels['cavv'] === $result['additionalData']['cavv'] |
| 108 | + && $labels['xid'] === $result['additionalData']['xid'] |
| 109 | + && $labels['cavv_algorithm'] === $result['additionalData']['cavvAlgorithm'] |
| 110 | + && $labels['eci'] === $result['additionalData']['eci'] |
| 111 | + && $labels['ds_trans_id'] === $result['additionalData']['dsTransID'] |
| 112 | + && $labels['liability_shift'] === $result['additionalData']['liabilityShift'] |
| 113 | + && $labels['fraud_result_type'] === $result['additionalData']['fraudResultType'] |
| 114 | + && $labels['fraud_manual_review'] === $result['additionalData']['fraudManualReview'] |
| 115 | + && $labels['fraud_result_account_score'] === $result['fraudResult']['accountScore'] |
| 116 | + && $labels['fraud_result_check_id'] === $result['fraudResult']['result']['fraudCheckResult']['checkId'] |
| 117 | + && $labels['fraud_result_name'] === $result['fraudResult']['result']['fraudCheckResult']['name'] |
| 118 | + && $labels['response'] === $result['response']; |
| 119 | + return $r; |
| 120 | + } |
| 121 | +} |
0 commit comments