Bezahlt

Aufgabe Aktion Ziel Text Extra
Buchen :?:1 add db:users Daten in Order-Objekt FIXME→verify
add db:ms_payments
add db:ms_core_order_history
Freigeben add db:ms_memberships
add db:user_role
Provision task Autor :!:2
task Partner :!:2

:?:1: wenn Benutzer nicht angemeldet war
:!:2: siehe Seite 'Provision'


Paypal sendet Nachricht an paypal/backend
Funktion: (ms_paypal_wps.module) ms_paypal_wps_ipn() Args: txn_id (transaction), mc_gross (Betrag)

  • $ipn = ms_paypal_wps_ipn_handler($_POST);
  • (?): $ipn ok
    • watchdog: 'Successfully Received an IPN from PayPal….'
    • $order = ms_core_order_load($ipn['custom'])
    • (?): $order ok: ms_paypal_wps_process_ipn($ipn, $order, 'ms_paypal_wps')
      • Insert the Payment to the order:
      • $payment = ms_core_new_payment($order→oid, $gateway, $payment_type);
      • $payment Daten: transaction, name, amount, recurring_id, data=$ipn, …
      • $payment→type=='cart':
        • Unterschiede nach $ipn['payment_status']:
          Completed, Processed, Canceled_Reversal, Denied, Failed, Voided,
          Expired, Reversed, Refunded, Pending
        • ms_core_add_history_item - table {ms_core_order_history}
        • ms_core_enter_payment($payment, $check_valid);
          • $payment→save(); - table {ms_payments}
          • Order aktualisieren nach Payment: name, adressen, …
          • Status: ms_core_set_order_status_from_payment($order, $payment);
          • switch ($type)
            • rec_signup: ms_core_create_recurring_schedule()
            • rec_payment: ms_core_increment_recurring_schedule()
            • rec_cancel: ms_core_cancel_recurring_schedule()
            • rec_failed: next_payment date in 3 days
            • rec_modify: ???$new_product???
            • rec_eot: ms_core_change_recurring_schedule_status
          • (?) $notify
            • (!$order→uid): hook_ms_order_assign_user
            • hook_ms_order_payment_total
            • (each: $order→products): hook_ms_order_payment
              • Implementation ms_products_ms_order_payment
                • $type==cart, …else:
                  • ms_products_insert_purchase - INSERT INTO {ms_product_purchases}, hook_
                  • mail,
                  • hook_ms_products_signup
                    • .
                • $type==rec_signup, $type==rec_payment, $type==rec_failed, …
              • Implementation ms_membership_ms_order_payment
                • $type==cart
                  • ms_membership_change_roles
                  • new: $membership = ms_membership_insert_membership(…)
                  • ms_membership_prepare_mail, ms_membership_notify_admins
                  • hook_ms_membership_signup
                    • Implementation easybill_ms_membership_signup()
                      • Function: _grant_comission_collection_author():
                        siehe Tab 'Partner' *
                • $type==rec_payment
                  • … ms_membership_increment_payment, … ms_membership_change_membership_expiration
                  • hook_ms_membership_payment
                    • Implementation easybill_ms_membership_payment()
                      • Function: _grant_comission_collection_author():
                        siehe Tab 'Partner' *
          • ms_core_add_history_item()
    • sonst: ms_core_log_error(Error…)

afoma/weiterbildung/bezahlt.txt · Zuletzt geändert: 2022/06/06 15:13 von 127.0.0.1
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki