Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.0.x will end 8 May 2023 (12 months).
  • Bug fixes for security issues in 4.0.x will end 13 November 2023 (18 months).
  • PHP version: minimum PHP 7.3.0 Note: the minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is also supported.

Differences Between: [Versions 310 and 400]

This file contains the \core_payment\local\local\callback\service_provider interface. Plugins should implement this if they use payment subsystem.

Copyright: 2020 Shamim Rezaie <shamim@moodle.com>
License: http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
File Size: 67 lines (3 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class

service_provider:: (3 methods):
  get_payable()
  get_success_url()
  deliver_order()


Interface: service_provider  - X-Ref

The service_provider interface for plugins to provide callbacks which are needed by the payment subsystem.

get_payable(string $paymentarea, int $itemid)   X-Ref
Callback function that returns the cost of the given item in the specified payment area,
along with the accountid that payments are paid to.

return: \core_payment\local\entities\payable
param: string $paymentarea Payment area
param: int $itemid An identifier that is known to the plugin

get_success_url(string $paymentarea, int $itemid)   X-Ref
Callback function that returns the URL of the page the user should be redirected to in the case of a successful payment.

return: \moodle_url
param: string $paymentarea Payment area
param: int $itemid An identifier that is known to the plugin

deliver_order(string $paymentarea, int $itemid, int $paymentid, int $userid)   X-Ref
Callback function that delivers what the user paid for to them.

return: bool Whether successful or not
param: string $paymentarea Payment area
param: int $itemid An identifier that is known to the plugin
param: int $paymentid payment id as inserted into the 'payments' table, if needed for reference
param: int $userid The userid the order is going to deliver to