Page MenuHomePhabricator

[WMDE-Fundraising] Add route and use case for "Update credit card payment status"
Closed, ResolvedPublic15 Estimated Story Points

Description

Called by the payment provider to confirm a payment. Calls the validation methods for the data and expiration data.

When the validation checks out, update the status to "paid". Otherwise the handler responds with an error message.

"Setting the status" may trigger side effects, as outlined in T130190

GET request
Original URL: https://test.wikimedia.de/spenden/mcp-handler.php

Request model parameters:

  • function (billing for successful transactions; error for failed transactions)
  • amount (in cents)
  • auth (16B; hex representation)
  • customerId (20B; hex representation; only set on function=billing)
  • sessionId (20B; hex representation; only set on function=billing)
  • transactionId (e. g. spenden.wikimedia.de-IDv5mgzw10kp)
  • utoken (20B; hex representation; created when adding the donation data set and passed to the payment provider)
  • donation_id (primary key of the donation data set)
  • title (transaction description as printed on the invoice)
  • country (ISO 3166-1 alpha-2)
  • currency (ISO 4217)
  • token
  • testmode

The use case (or a service the of the use case) needs to write the values into the "Bag of stuff" data object of the donation object. The field names must be mapped as follows:

  • currency => mcp_currency
  • amount => mcp_amount
  • country => mcp_country
  • auth => mcp_auth
  • title => mcp_title
  • sessionId => mcp_sessionid
  • transactionId => ext_payment_id
  • function => ext_payment_type
  • status => ext_payment_status
  • customerId => ext_payment_account
  • mcp_cc_expiry_date (needs to be determined by requesting the payment provider's API)
  • ext_payment_timestamp (generated at runtime)

Use case must send a confirmation email.

Event Timeline

Tobi_WMDE_SW claimed this task.