def receive(xpub, callback, api_key):
    """Call the '/v2/receive' endpoint and create a forwarding address.
    
    :param str xpub: extended public key to generate payment address
    :param str callback: callback URI that will be called upon payment
    :param str api_key: Blockchain.info API V2 key
    :return: an instance of :class:`ReceiveResponse` class
    """

    params = {'xpub': xpub, 'key': api_key, 'callback': callback}
    resource = 'v2/receive?' + util.urlencode(params)
    resp = util.call_api(resource, base_url='https://api.blockchain.info/')
    json_resp = json.loads(resp)
    payment_response = ReceiveResponse(json_resp['address'],
                                       json_resp['index'],
                                       json_resp['callback'])
    return payment_response