<?php

if (!defined('ABSPATH')) { exit; }

interface AIEO_MOI_Provider {

    
    public function slug();

    
    public function label();

    
    public function credential_fields();

    
    public function validate_credentials(array $credentials);

    
    public function verify_webhook($request, array $vendor);

    
    public function parse_webhook_payload(array $body);

    
    public function accept_order(array $vendor, $remote_order_id, array $opts = array());

    
    public function reject_order(array $vendor, $remote_order_id, $reason = '');

    
    public function fetch_voucher(array $vendor, $remote_order_id);

    
    public function poll_orders(array $vendor, $since_ts);
}
