killbill / killbill-api

Kill Bill APIs
https://killbill.io
Apache License 2.0
18 stars 34 forks source link

I cannot purchase with a success Stripe card if I purchased with a failed one #58

Closed TuNguyenRockship closed 5 years ago

TuNguyenRockship commented 5 years ago

Hello everybody,

I got a problem with destination charge via killbill-stripe. Please take a look at it.

Context:

Steps to reproduce:

  1. I purchased a payment with a Stripe's failed card (4000000000000341) via API POST {{kb_url}}/accounts/c47bbd32-6720-466e-9ee8-6f5b6292fa38/payments
  2. I was trying to purchase the payment again with a Stripe success card (4242424242424242). Step #2 request is as below:

POST {{kb_url}}/accounts/c47bbd32-6720-466e-9ee8-6f5b6292fa38/payments?paymentMethodId=cedb1336-9cf1-4eb9-ae92-b87126731c21&controlPluginName=killbill-stripe&pluginProperty=destination%3D10cc3c2f-a522-49f2-b16e-1b9bd2f75d66&pluginProperty=fees_amount%3D1200&pluginProperty=description%3Dasdasdasd&pluginProperty=reverse_transfer%3Dtrue&stringifyOpt=false

// query string is:
{
    "paymentMethodId": "d7945c89-1985-48ab-a88e-efc16d680fd1",
    "controlPluginName": "killbill-stripe",
    "pluginProperty": [
    "destination=10cc3c2f-a522-49f2-b16e-1b9bd2f75d66",
    "fees_amount=1200",
    "description=asdasdasd",
    "reverse_transfer=true"
    ],
    "stringifyOpt": { "indices": false }
}
// request body is:
{
    "amount": 112,
    "currency": "CHF",
    "transactionType": "PURCHASE",
    "transactionExternalKey": "d22aa2cd-1105-4689-aaaf-a8bfda01fdb9", // ID in my system
    "paymentExternalKey": "d22aa2cd-1105-4689-aaaf-a8bfda01fdb9" // ID in my system
}

Expectation:

Reality:

Here are account's payment methods: GET {{kb}}/accounts/c47bbd32-6720-466e-9ee8-6f5b6292fa38/paymentMethods?withPluginInfo=true

[
    {
        "paymentMethodId": "d7945c89-1985-48ab-a88e-efc16d680fd1",
        "externalKey": "card_1E2c3HEJQj0p3SM5MPVezCuV",
        "accountId": "c47bbd32-6720-466e-9ee8-6f5b6292fa38",
        "isDefault": false,
        "pluginName": "killbill-stripe",
        "pluginInfo": {
            "externalPaymentMethodId": "card_1E2c3HEJQj0p3SM5MPVezCuV",
            "isDefaultPaymentMethod": false,
            "properties": [
                {
                    "key": "token",
                    "value": "card_1E2c3HEJQj0p3SM5MPVezCuV",
                    "isUpdatable": false
                },
                {
                    "key": "ccFirstName",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "ccLastName",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "ccName",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "ccType",
                    "value": "Visa",
                    "isUpdatable": false
                },
                {
                    "key": "ccExpirationMonth",
                    "value": "2",
                    "isUpdatable": false
                },
                {
                    "key": "ccExpirationYear",
                    "value": "2019",
                    "isUpdatable": false
                },
                {
                    "key": "ccLast4",
                    "value": "4242",
                    "isUpdatable": false
                },
                {
                    "key": "ccNumber",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "address1",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "address2",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "city",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "state",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "zip",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "country",
                    "value": null,
                    "isUpdatable": false
                }
            ]
        },
        "auditLogs": []
    },
    {
        "paymentMethodId": "e6b732b6-cae6-4e33-b7e9-7b38e093e86d",
        "externalKey": "card_1E2Zc7EJQj0p3SM5DPzQdvKw",
        "accountId": "c47bbd32-6720-466e-9ee8-6f5b6292fa38",
        "isDefault": false,
        "pluginName": "killbill-stripe",
        "pluginInfo": {
            "externalPaymentMethodId": "card_1E2Zc7EJQj0p3SM5DPzQdvKw",
            "isDefaultPaymentMethod": false,
            "properties": [
                {
                    "key": "token",
                    "value": "card_1E2Zc7EJQj0p3SM5DPzQdvKw",
                    "isUpdatable": false
                },
                {
                    "key": "ccFirstName",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "ccLastName",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "ccName",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "ccType",
                    "value": "Visa",
                    "isUpdatable": false
                },
                {
                    "key": "ccExpirationMonth",
                    "value": "12",
                    "isUpdatable": false
                },
                {
                    "key": "ccExpirationYear",
                    "value": "2031",
                    "isUpdatable": false
                },
                {
                    "key": "ccLast4",
                    "value": "0341",
                    "isUpdatable": false
                },
                {
                    "key": "ccNumber",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "address1",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "address2",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "city",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "state",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "zip",
                    "value": null,
                    "isUpdatable": false
                },
                {
                    "key": "country",
                    "value": null,
                    "isUpdatable": false
                }
            ]
        },
        "auditLogs": []
    }
]

I know that it's an old version but hope that you could help. Any response will be appreciated. Thank you for your time.

pierre commented 5 years ago

Please reach out to the mailing-list instead. See CONTRIBUTING.md.